ICode9

精准搜索请尝试: 精确搜索
  • 卡常技巧2020-02-04 15:02:01

    前言 本文会不定时更新。 快读 这是利用$getchar$来优化 inline int read(){ register int x=0,v=1,ch=getchar(); while(!isdigit(ch)){if(ch=='-')v=-1;ch=getchar();} while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^'0');ch=getchar();}                 //与x=

  • 常用宏定义头文件,节省时间2020-02-03 12:37:35

    #include <algorithm> #include <cstdio> #include <iostream> #include <string> #include <cmath> #include <cstring> #include <deque> #include <queue> #include <vector> #include <stack> #define rep(i

  • 洛谷 P2120 [ZJOI2007]仓库建设2020-01-27 11:52:03

    题目链接 Step1 朴素DP for(int i=1;i<=n;i++){ for(int j=0;j<i;j++){ long long x=0; for(int k=j+1;k<=i;k++) x+=p[k]*(a[i]-a[k]); dp[i]=min(dp[i],dp[j]+x+c[i]); } } Step 2 前缀和优化 for(int i=1;i<=n;i

  • CF1B-Spreadsheets2020-01-26 15:01:14

    CF1B-Spreadsheets 题意:26进制与10进制的转换 代码实现: #include<bits/stdc++.h> using namespace std; int main(void){ int t; cin >> t; while(t--){ string s; cin >> s; int len = s.size(); bool flag = 0;//flag 用

  • 尼克的任务2020-01-25 15:54:49

    题意: 题目连接 直线上有若干线段,要求从中选取若干条不相交的线段,同时左端点尽量靠左,使得线段总长尽可能短 思路: 线性动态规划。 太菜了想不出方程,干脆直接记忆化搜索 启示: 记忆化搜索能极大减小思维难度 code: #include<bits/stdc++.h> using namespace std; const int N=1e4+10; i

  • 洛谷 P4868 Preprefix sum2020-01-22 11:52:21

    题目链接 本题与我的树状数组进阶有类似之处,基本上思路完全一样 我们对\(SS[i]\)进行分析 \[ S[i]=\sum_{k=1}^{i} A[k] \] \[ SS[i]=\sum_{k=1}^{i} S[k] \] \[ SS[i]=\sum_{k=1}^{i} \sum_{j=1}^{k} A[j] \] \[ SS[i]=(i+1) * \sum_{k=1}^{i} A[k] - \sum_{k=1}^{i} A[k] * k

  • 洛谷 P3609 [USACO17JAN]Hoof, Paper, Scissor蹄子剪刀…2020-01-21 10:02:17

    题目链接 dp[i][j][k] 表示 到第i局,总共变化 j次, 最后出 k的最多赢次数 枚举前一局的出的手 t, 考虑与前一局有没有变化即可转移 非常朴素的DP [Code] #include <bits/stdc++.h> using namespace std; int read(){ int x=0,flag=1; char c; for(c=getchar();!isdigit(c

  • CF训练2020-01-18 19:00:57

    CF 612 div1 三道大水题 A 题解 dp,用 $ f[i][j][0/1]$ 表示到第 \(i\) 个空格且一共填了 \(j\) 个奇数,末尾为奇数或偶数的最小值 转移见代码 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define ll long long using namespace std; int read() {

  • python面试题&练习题之运算符与if控制2019-12-22 17:53:33

    1、任意的输入10个数字,按从大到小排序 l2 = [] for i in range(1,11): num = input('输入第{}个数字'.format(i)) if num.isdigit(): num = int(num) l2.append(num) l2.sort(reverse=True) print(l2) 2、"在一个月黑风高的夜晚,一个小男生用自己的零花

  • P3613 【深基15.例2】寄包柜2019-12-22 10:51:24

    传送门 题目大意 往一个\(a[i][j]\) 里边放东西,也可以取走东西,然后查询\(a[i][j]\)里边是什么东西。 思路: 显然我们可以暴力,但是你开不了那么大的数组。 翻了翻dalao们的题解,为什么要用结构体呢?? 直接\(map\)他不香吗? 我们用一个\(map<int,int> ma[N];\)当做暴力的数组来做。 因

  • %s、%d、'''、if .isdigit()的运用2019-12-20 22:03:57

    1 name = input("name:") 2 age = int(input("age:")) 3 job = input("job:") 4 gongzi = input("gongzi:") 5 if gongzi.isdigit(): 6 gongzi = int(gongzi) 7 8 msg = ''' 9 -----for %s info------

  • luogu P3353 【在你窗外闪耀的星星】2019-12-14 19:03:49

    此题前缀和维护即可,主要说一下前缀和 - 前缀和 设 $ pre_i $ 表示 $ \sum ^{i}_{1} a_{i} $ 则有 $ pre_i = pre_{i-1} + a_i $ - 查询前缀和 有了$pre$数组如果我们要求 $ [l,r] $ 的和,有 $ pre_{l-1}=a_1+a_2+a_3+...+a_{l-1}$ $ pre_{r}=a_1+a_2...a_{l-1}+a_{l

  • CF833B The Bakery2019-12-10 13:52:06

    此题可用决策单调性来做 证明 略 引入 决策单调性(\(My blog\)) 思路 于是此题便可先用分治优化决策单调性 时间 \(O(n^2*k)\) \(101 tests\) 中 只能过前\(9\)个 \(9pts\) ? #include <map> #include <string> #include <cstdio> #include <string> #include <cstdlib> #include

  • CF1119C Ramesses and Corner Inversion 题解2019-11-12 15:54:14

    前言 显然是一道shabi结论题 解法 求出 \(A\) , \(B\) 的异或矩阵,记录每一行,每一列异或和, 异或和为奇数显然不行; Code #include<bits/stdc++.h> typedef long long ll; const int maxn = 510; int n, m, a[maxn][maxn], b[maxn][maxn], c[maxn][maxn], x[maxn], y[maxn];

  • LGOJ P1772 [ZJOI2006]物流运输2019-11-12 13:02:18

    LGOJ P1772 [ZJOI2006]物流运输 本来想着用什么状态压缩结果t飞了…… 普通的dp就可以了。 动态规划,最短路径 首先可以列出状态转移方程: \[ f[i]=f[i-s]+s*d[i-s+1][i]+K, \quad s \in (0,i] \] 其中,\(d[i][j]\)在第\(i\)到第\(j\)天的时间里,起点到终点的最短路径是多少。 然后暴

  • ##Dijkstra Template2019-11-08 10:53:04

    \(Dijkstra\)模板 感觉快要刻在DNA里面了... #include<bits/stdc++.h> using namespace std; const int N=100005,INF=0x3f3f3f3f; int n,m,s,d[N]; inline int read() { char c=getchar();int x=0; for(;!isdigit(c);c=getchar()); for(;isdigit(c);c=getchar())

  • NOIP2016 解题报告2019-11-06 22:00:34

    D1T1 玩具谜题 xjb模拟即可 #include<bits/stdc++.h> #define N (100000+5) using namespace std; inline int read() { int cnt = 0, f = 1; char c; c = getchar(); while (!isdigit(c)) { if (c == '-') f = -f; c = getchar(); }

  • fread()模板2019-11-05 18:52:36

    char buf[1<<20],*p1,*p2;#define GC (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<20,stdin),p1==p2)?0:*p1++)//提交时使用//#define GC getchar()//getchar()用于调试,要慢很多 inline ll read_64(){ll X=0,w=0; char ch=0;while(!isdigit(ch)) {w|=ch=='-';ch=

  • 「NOIP2016」愤怒的小鸟2019-11-03 11:04:01

    传送门 Luogu 解题思路 首先这个数据范围十分之小啊。 我们考虑预处理出所有可以带来贡献的抛物线 三点确定一条抛物线都会噻 然后把每条抛物线可以覆盖的点状压起来,然后状压DP随便转移就好了。 有一个小小的优化就是每次枚举打掉哪两头猪的时候可以钦定打掉编号最小的那头。 细节

  • AT2292 Division into Two2019-10-30 20:02:40

    题目 不妨认为\(A>B\)。 首先判一下无解。 设\(f_i\)表示\(A\)集合最后选第\(i\)个数的方案数。 转移的话枚举一下从哪个\(j\)转移过来。 显然\(j\)需要满足以下条件: \(j<i\) \(S_j<S_i-A\) \(\forall a,b\in(j,i)\wedge a<b,S_a<S_b-B\) 不难发现\(j\)的取值范围是一个区间,前缀

  • 计蒜客信息学普及组赛前模拟 #1 D祖先2019-10-26 21:07:47

    计蒜客信息学普及组赛前模拟 #1 D祖先 show me the code. #include<cstdio> #include<cctype> template<typename T>inline void read(T &a){ char c=getchar();T x=0,f=1; while(!isdigit(c)){if(c=='-')f=-1;c=getchar();} while( isdigit(c

  • 51nod1769 Clarke and math 22019-10-22 22:57:57

    题目 实际上就是要求\(f*I^k\)。 因为\(I^k\)是一个积性函数,所以我们只需要考虑如何求\(I^k(p^a)\)。 把这个东西转化成一个长度为\(k\)的序列,每一位是\(\frac{i_k}{i_{k-1}}\),这东西就变成了长度为\(k\)的值域为\([0,a]\)的单调不降序列的方案数,也就是把 \(a\)个球放入\(k\)个

  • AcWing 91. 最短Hamilton路径2019-10-11 20:04:03

    今天第一次在\(AcWing\)这个网站上做题,来发一下此网站的第一篇题解 传送门 思路 直接枚举的话时间复杂度为\(O(n*n!)\) 复杂度显然爆炸,所以我们用二进制枚举,这样就可以把复杂度降到\(O(n * 2^{n})\) 我们用\(f[i][j]\)表示走到j这个点,经过点的状态为\(i\)(\(i\)是二进制数,若\(i\)

  • 多校联测20191009test2019-10-09 21:56:16

    题目: 1 文体两开花 1.1题目描述 众所周知,小G擅长文体两开花。 现在小G手中拿到了一棵树,这棵树的每个节点上都有一个非负整数权值vali。 为了展现自己深不可测的开花功底,小G会对这棵树进行一系列操作,具体表现为修改某个节点x 的权值。在每次修改之后,小G想要你告诉他,所有与节点x距离

  • 「一本通 6.2 练习 5」樱花2019-10-09 16:03:45

    /* reference: Date: 2019.10.09 sol: */ #include<bits/stdc++.h> using namespace std; #define int long long template <typename T>inline void rd(T &x){x=0;char c=getchar();int f=0;while(!isdigit(c)){f|=c=='-';c=getchar

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有