nyoj 471:好多的树(容斥原理)】的更多相关文章

题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=471 还是直接上代码.. #include<bits/stdc++.h> using namespace std; typedef long long LL; ; ]; vector<]; //a[i]中存储i的所有质因数 void init() { ;i<=N;i++) if(!vis[i]) //i->prime { a[i].push_back(i); for…
题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=471 还是直接上代码.. #include<bits/stdc++.h> using namespace std; typedef long long LL; ; ]; vector<]; //a[i]中存储i的所有质因数 void init() { ;i<=N;i++) if(!vis[i]) //i->prime { a[i].push_back(i); for…
题面 传送门 思路 观察一下题目,要求的是修改"距离点$u$的距离一定的点权值",那这个就不能用传统的dfs序类算法+线段树维护,因为涉及到向父亲回溯的问题 看到和树上距离相关的东西,还能想到什么呢? 没错,点分治算法 然后发现本题有修改操作,那动态点分治试一试? 如何点分治? 我们先把这棵树的点分树构造出来(后面的操作都是在点分树上的了) 注意到我们一开始的dfs序想法中,影响最大的是往父亲回溯是可以达到$O(n)$的,再操作会炸 但是点分树的深度是严格$O(log_2n)$的,所以…
这个问题实际上是在测试树的数组. 代码: #include <cstdio> #include <cstring> int c[1005]; int lowbit(int x){ return x&(-x); } int getsum(int x){ int sum = 0; while(x){ sum += c[x]; x -= lowbit(x); } return sum; } void add(int x, int val){ while(x <= 1004)…
http://acm.nyist.net/JudgeOnline/problem.php?pid=600 只附代码好了 #include<bits/stdc++.h> using namespace std; ; struct node { int num,id; } s[N]; int s1[N],a[N]; bool cmp(node x,node y) { return x.num<y.num; } int lowbit(int x) { return x&-x; } vo…
Keen On Everything But Triangle 感觉最近多校好多主席树的亚子,但是本人菜得很,还没学过主席树,看着队友写题就只能划水,\(WA\)了还不能帮忙\(debug\),所以深思熟虑之后决定学习一下主席树. 题意 问在\([l,r]\)区间内取三个数字构成三角形,问能构成的三角形最大的周长是多少?如果不能构成三角形输出\("-1"\). 思路 三角形构成的条件: 三条边 两边之和大于第三边 然后呢,我们要找最大的周长,那么我们很容易想到取最大的三条边,如果不行就…
4390: [Usaco2015 dec]Max Flow Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 177  Solved: 113[Submit][Status][Discuss] Description Farmer John has installed a new system of N−1 pipes to transport milk between the N stalls in his barn (2≤N≤50,000), c…
1.Senior's Array(hdu 5280) 题目大意:给出大小为N的数组和P,求将数组中的某个元素替换为P后的最大连续子段和.N<=1000 题解: 1.送分题,比赛的时候只想到枚举替换的元素然后贪心找最大连续子段和.时间复杂度O(N2) 2.实际上有更好的做法.类似线段树的合并,枚举替换元素的时候 可以把左右两边的答案合并.F[i]表示以i结尾,G[i]表示以i开头的最优解.合并的时候只要考虑把中间的P用起来,即 A[x]+max(0,F[x-1])+max(0,G[x+1]) .…
本例来自于<HTML5 Canvas核心技术 图形.动画与游戏开发> 在线演示 (图有点多,请多刷新几次) 本例还有一点代码不理解,我用注释和问号标注出来了,有大神看到求解答,谢谢 本例子难点主要在通过当前的FPS计算图像下一帧的显示坐标,这也是我不理解的地方 还有就是requestAnimationFrame这个,这个是用来以浏览器最合适的方式循环执行一些代码 <!DOCTYPE html> <html> <head> <meta charset=&…
今天做了四道dp题,分数306. 就从我的做题顺序开始讲.. 首先是第四题,明显的记录模数DP,很快打出来了. 后来做完之后回来拍第四题,也没有什么问题,就AC了. 然后是第三题,我的性子真是太急了,看错题,幸好及早发现, 然后想了一会儿,觉得是贪心一下然后计算,然后就打完了. 中间搞笑了一下,就没有A,对了几个点,数据太弱. 然后第二题,看题的时候就有想法,而且能力值很小,所以就处理一下第二部分,dp一下第一部分. 又搞笑了,感觉打题的时候太困了,竟然打错了一个毫不相关的东东,还对了6个点,数…