随笔分类 -  Ad-hoc

摘要:Multi-University Training Contest 阅读全文
posted @ 2018-08-18 13:47 Caturra 阅读(176) 评论(0) 推荐(0)
摘要:发现自己容易被卡水题,需要强行苟一下规律题 CF上并没有对应的tag,所以本题集大部分对应百毒搜索按顺序刷 本题集侧重于找规律的过程(不然做这些垃圾题有什么用) Codeforces 1008C 给定一个$n$的可重复排列,要求你更换排列的顺序,使尽量多的数占领到比自己数值小的数的所在位置 (暂时没 阅读全文
posted @ 2018-07-14 10:00 Caturra 阅读(376) 评论(0) 推荐(0)
摘要:喵喵喵喵? 阅读全文
posted @ 2018-03-27 22:13 Caturra 阅读(178) 评论(0) 推荐(0)
摘要:喵喵喵喵? 阅读全文
posted @ 2018-03-21 23:21 Caturra 阅读(239) 评论(0) 推荐(0)
摘要:喵喵喵喵? 阅读全文
posted @ 2018-02-21 19:23 Caturra 阅读(213) 评论(0) 推荐(0)
摘要:喵喵喵喵? 阅读全文
posted @ 2018-02-21 15:45 Caturra 阅读(158) 评论(0) 推荐(0)
摘要:求[1,n]内k的值的异或和使其值最大 k=1是肯定是n k 1,设pos是n的最高位,那答案就是(1ll 阅读全文
posted @ 2018-02-07 01:20 Caturra 阅读(206) 评论(0) 推荐(0)
摘要:注意到R和C只与最后一个状态有关 阅读全文
posted @ 2018-01-25 20:47 Caturra 阅读(128) 评论(0) 推荐(0)
摘要:注意到合法条件是对称的,那很有可能与2有关, 小于2表示没有这一页,大于2表示冲突了 我也不知道这样做对不对的(输入范围很迷),试一下就A了... C++ include define rep(i,j,k) for(int i=j;i T; while(T ){ int n;cin n; rep(i 阅读全文
posted @ 2018-01-22 16:52 Caturra 阅读(125) 评论(0) 推荐(0)
摘要:```C++ include define rep(i,j,k) for(register int i=j;i define rep(i,j,k) for(register int i=j;i 阅读全文
posted @ 2018-01-18 17:09 Caturra 阅读(146) 评论(0) 推荐(0)
摘要:反转问题,要注意每次rev操作是严格等于k的,否则非法 C++ include include include include define rep(i,j,k) for(int i=j;i P; bool rev[maxn];//rev[i]:[i..i+k 1] bool dir[maxn]; 阅读全文
posted @ 2018-01-16 16:40 Caturra 阅读(171) 评论(0) 推荐(0)
摘要:求∑1/i,但是范围很大 和bitmap的想法一样,分个块,均摊复杂度就降下来了 //到底排行榜上的0ms是怎么做到的? C++ include using namespace std; const int maxn = 1e6+11; const int N = 1e8; double tmp[N 阅读全文
posted @ 2018-01-10 22:36 Caturra 阅读(116) 评论(0) 推荐(0)
摘要:要求max{F/P},先枚举下界lowf,再贪心求符合约束条件的n个最小价值和 记录F的离散值和去重可以大幅度常数优化 (本来想着用DP做的) (辣鸡POJ连auto都Complie Error) DP写法 因为二维的dp[][k]是滚动更新的,所以每次更新当前最小值是dp[i 1][k]必然存在最 阅读全文
posted @ 2017-12-12 00:32 Caturra 阅读(132) 评论(0) 推荐(0)
摘要:首先要判sum是否是3的整数倍 然后把符合条件的前缀和以及后缀和分别加入到静态vector中 最后扫一下j和k定位在哪然后求总长的差来更新答案 注意i j k至少隔1位,所以lower_bound是s1[i]+2 官方题解是O(n),不过没仔细看 这种解法最坏应该是常数较小的O(nlogn) C++ 阅读全文
posted @ 2017-12-09 18:49 Caturra 阅读(225) 评论(0) 推荐(0)