05 2018 档案

摘要:LL inv[maxn];inline void inv_init(){ inv[0] = inv[1] = 1; for(int i=2; i<maxn; i++) inv[i] = (LL)(mod - mod / i) * inv[mod % i] % mod;} 阅读全文
posted @ 2018-05-30 15:25 qwerity 阅读(145) 评论(0) 推荐(0) 编辑
摘要:CDQ分治是种离线的分治算法 通常解决带有修改和问询且不强制在线的一类问题 本人菜鸡,就只能推推文章这样子 ==> CDQ分治 说一些点 ① CDQ的优点就是能起到降维的作用,从而顶替了本应多套一层数据结构才能维护的信息 具体点来说就是“消除了某一维”的影响、例如在解决三维偏序的过程中,先根据a、b 阅读全文
posted @ 2018-05-27 23:26 qwerity 阅读(212) 评论(0) 推荐(0) 编辑
摘要:题目链接 题意 : 给出一个 n * m 的矩阵,用规格 1 * 2 的多米诺去填充,题目数据保证最后只有一个格子是空白的(即没有被多米诺骨牌覆盖),问你现在通过移动多米诺能够产生多少种不同的状态(空白位置作为状态依据,所以最多只有 n * m 种状态) 分析 : 这题看着很吓人,一般来说不会想到直 阅读全文
posted @ 2018-05-22 22:28 qwerity 阅读(163) 评论(0) 推荐(0) 编辑
摘要:题目链接 题意 : 给出一个排列,让你删除一个数,使得删除后整个序列的 Good 数数量最多。Good 数的定义为 若 Ai 为 Good 则存在 Aj < Ai ( j < i ) 分析 : 画画几个规律就能得出如下几个结论 ① 若删除一个 Good 数,则原序列 Good 数的数量只会减一,即只 阅读全文
posted @ 2018-05-22 22:20 qwerity 阅读(163) 评论(0) 推荐(0) 编辑
摘要:题目链接 题意 : 中文题 分析 : 价值和重量都太过于大,所以采用折半枚举的方法,详细可以看挑战的超大背包问题 由于 n <= 30 那么可以不必直接记录状态来优化,面对每个用例 直接采用递归回溯的方法来写这个 DP 即可 #include<bits/stdc++.h> #define LL lo 阅读全文
posted @ 2018-05-21 22:27 qwerity 阅读(183) 评论(0) 推荐(0) 编辑
摘要:题目链接 题意 : 给出 N 堆石子,每次可以选择一堆石子拿走任意颗石子,最后没有石子拿的人为败者。现在后手 Bob 可以在游戏开始前拿掉不超过 d 堆的整堆石子,现在问你有几种取走的组合使得 Bob 能保证他在游戏开始后是必胜的。 分析 : 在没有附加规则,即 Bob 可以先取走某些堆的情况下 就 阅读全文
posted @ 2018-05-21 22:03 qwerity 阅读(216) 评论(0) 推荐(0) 编辑
摘要:题目链接 分析 : 发现如果一开始就在边界或者位于对角线的位置上肯定是必胜态 从终点逆推,画出胜负表格,填一填,就会发现和奇异局势的前几项一样 然后打个奇异局势的表就能 AC 了 #include<bits/stdc++.h> #define LL long long #define ULL uns 阅读全文
posted @ 2018-05-01 18:42 qwerity 阅读(415) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示