上一页 1 2 3 4 5 6 7 8 9 ··· 24 下一页
摘要: 取数字(dp优化) 给定n个整数$a_i$,你需要从中选取若干个数,使得它们的和是m的倍数。问有多少种方案。有多个询问,每次询问一个的m对应的答案。 $1\le n\le 200000,1\le m\le 100,1\le q\le 30, 10^9\le a_i\le 10^9$。 首先有一个暴力 阅读全文
posted @ 2018-08-08 09:42 pechpo 阅读(350) 评论(0) 推荐(0) 编辑
摘要: POI2011 Tree Rotations 给定一个n include using namespace std; typedef long long LL; inline void read(int &x){ char ch; x=0; for (; ch=getchar(), !isdigit( 阅读全文
posted @ 2018-08-05 11:04 pechpo 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 提交答案题(网络流) 计算一次函数的值实在是太难了,所以为了简化问题,我们计算二次函数。现在给了你$N$个二次函数,第$i$个二次函数的形状为$f_i(x_i) = a_i {x_i}^2 + b_i x_i + c_i , l_i \leq x_i \leq r_i$。同时我们又给了你$M$个限制 阅读全文
posted @ 2018-07-28 08:24 pechpo 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 降临 选定点i会有代价$c_i$,如果一个区间j内的点全被选择,就可以获得回报$p_j$。点数和区间个数$j,r[k]=i+1}p_k\rightarrow f[i+1][j]$。 我们发现,除了i+1, j只会转移到j 。因此,考虑使用线段树维护$f[i]$中状态的最大值。转移时,找出所有以i+1 阅读全文
posted @ 2018-07-27 22:50 pechpo 阅读(477) 评论(0) 推荐(0) 编辑
摘要: B君的第九题 对于一个排列$a_1, a_2,\dots,a_n$,如果对于一个i满足$a_{i 1}a_i+1$则称i是一个极大值。我们认为$a_0=a_{n+1}=0$。考虑$1,2,\dots,n$的所有排列,问有多少个排列恰好有m个极大值。输出答案对p取模的结果。$1\le n\le10^9 阅读全文
posted @ 2018-07-25 19:17 pechpo 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 提答相关(笔记) 参考资料(matrix67大牛):http://www.matrix67.com/blog/archives/105 P问题:能在多项式时间内解决的问题。 NP问题:能在多项式时间内判定答案是否正确的问题。 NPC问题:是NP问题,并且所有NP问题都可以规约到这个问题。 NP Ha 阅读全文
posted @ 2018-07-25 19:03 pechpo 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 形态形成场(矩阵乘法优化dp) 短信中将会涉及前$k$种大写字母,每个大写字母都有一个对应的替换式$Si$,替换式中只会出现大写字母和数字,比如$A→BB,B→CC0,C→123$,代表 $A=12312301231230,B=1231230,C=123$。现在对于给定的替换式,求字符 A 所代表的 阅读全文
posted @ 2018-07-24 19:35 pechpo 阅读(542) 评论(0) 推荐(0) 编辑
摘要: CF70D(动态凸包) 给出q( include include using namespace std; typedef long long LL; const LL maxn=1e5+5; double ox=0, oy=0; struct Point{ LL op, x, y; double 阅读全文
posted @ 2018-07-23 15:33 pechpo 阅读(251) 评论(0) 推荐(0) 编辑
摘要: (multi)set的某些操作 我们可以把multiset当作平衡树用~ 注意,必须定义小于运算符。 s.begin() 返回指向第一个元素的迭代器。 s.end() 返回指向最后元素的后面那个虚拟元素的迭代器。 s.clear() 删除所有元素。 s.empty() 判断容器是否为空。 s.ins 阅读全文
posted @ 2018-07-23 10:04 pechpo 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 旅行(树剖+主席树) 给定一个n( include using namespace std; const int maxn=1e5+5, INF=0x3f3f; int n, m, root; struct Edge{ int to, nxt; }e[maxn 2]; int cnte, fir[m 阅读全文
posted @ 2018-07-22 23:19 pechpo 阅读(201) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 24 下一页