摘要:
思路; 遇到数学公式,一层一层剥开 发现 那个式子就是 求 n 内的 每一个数 的倍数在n 以内的数量, 明显数论分块来处理这个问题 然后就是 因子的^2, ^3 , 这个子问题 1^3+2^3+3^3+……+n^3 = [n(n+1)/2]^2 取模 2^64, 直接用 unsigned long 阅读全文
摘要:
思路: 题目性质: 将往上走没有收益的, 往下走也没有收益 (除非下面刚好有一个) 然后就考虑左右的清空, x轴, y轴为时间 , 然后 两两 之间可以到达时(赶在后面时间之前)来连一个边 按时间从小到大排序 DP[i] 表示 选i时吃的最多的兵 DP[I]= MAX(DP[J])+1 , j 是可 阅读全文
摘要:
因为A,B长度相等, 明显要去以这个为单位长度去处理 然后 发现 1,2,,3,4... 满足调和级数 nlongn的复杂度, 阅读全文
摘要:
思路: 性质一直都是1,N 的满区间 前面3个直接利用值域线段树即可 后面一个就利用优先队列存被改的数,然后暴力恢复就行, 因为最对被改m次嘛\\ #include<bits/stdc++.h> using namespace std; #define ll long long const ll m 阅读全文
摘要:
提取性质: 关键: 改完一个点,就不能恢复 2个点在一起 一定不能改 于是根据上面2点,枚举每一个点 看看这个点需不需要改,如果要改就建一个边就行了, 然后拓扑序一下 另外的思路: 阅读全文
摘要:
思路: 通过题目就可以转化题意为: 让 pi!=i &&pi !=ai 发现合理的队列很多,就通过随机数去产一个队列出来 shuffle: random_device gen; mt19937 rd(gen()); shuffle(p+1,p+1+n,rd); #include<bits/stdc+ 阅读全文
摘要:
阅读全文
摘要:
每一个小模块的函数都要交吗 他的测试函数是不一样的呀, 只有一个大的测试东西 阅读全文