Processing math: 0%

随笔分类 -  dp

摘要:计蒜客 39278 String String String 2019 ICPC西安邀请赛赛 K 题面 题目链接貌似必须VP才能看题 时间限制:1000 ms 内存限制:256 MB 给定 a,b,c 三个串长度分别为 n1,n2,n3 已知 a 的 所有 La 拓展串构成的 阅读全文
posted @ 2020-03-02 22:20 RRRR_wys 阅读(205) 评论(0) 推荐(0) 编辑
摘要:Codeforces 1176F "题目" 题意:T组物品,按顺序选一个一个选,物品首先要满足组间的相对顺序,每个物品有价值和体积,每组选择的体积不能超过3,组内的选择物品的顺序可以调整,在总的物品的顺序中,如果某一个物品它的编号是10的倍数,则这个物品的价值会翻倍。求最大价值。 做法:首先背包求出 阅读全文
posted @ 2019-06-12 13:12 RRRR_wys 阅读(203) 评论(0) 推荐(0) 编辑
摘要:Codeforces 1091E 题意:给定n个点的度数,请你添加第n+1个点,输出所有可能的第n+1个点的度数 做法:1. 查看 "链接" 知道了下面这个定理 A sequence of non negative integers d_1\geq\cdots\geq d_n can be r 阅读全文
posted @ 2018-12-31 22:05 RRRR_wys 阅读(402) 评论(0) 推荐(0) 编辑
摘要:SPOJ1812 LCS2 题意:给n个串,求最长公共子串 做法:对第一个串建SAM,拿剩余的串类似于求LCS的在上面跑,对于当前这个串,求出可以到达每个状态的最长子串长度,然后,每个状态对每个串的匹配取最小值,最后取最大值就是答案。现在考虑如何求到达每个状态的最长子串长度,我们先类似于求$ 阅读全文
posted @ 2018-12-30 19:41 RRRR_wys 阅读(149) 评论(0) 推荐(0) 编辑
摘要:Codefroces1077F2. Pictures with Kittens (hard version) 做法:裸的单调队列优化dp c++ include define P pair define fr first define sc second typedef long long ll; 阅读全文
posted @ 2018-11-17 01:15 RRRR_wys 阅读(219) 评论(0) 推荐(0) 编辑
摘要:Mail.Ru Cup 2018 Round 2 C. Lucky Days 题意:找出最长的一段连续区间,同时被[l_a + k_at_a, r_a + k_at_a] , [l_b + k_bt_b, r_b + k_bt_b]覆盖。 做法:设最终的答案为[L,R],那么L一定是 阅读全文
posted @ 2018-11-16 15:20 RRRR_wys 阅读(230) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round 519 by Botan Investments A. Elections c++ include typedef long long ll; const int N = 3e5 + 7; const int mod = 1e9 + 7; using namespa 阅读全文
posted @ 2018-11-02 19:50 RRRR_wys 阅读(268) 评论(0) 推荐(0) 编辑
摘要:HDU5794 A Simple Chess 做法:首先的想法就是用总方案数减去,经过过障碍的方案数A。第一个思路就是容斥,但是显然不符合数据规模。另一个思路就是将障碍物从左上到右下排序,dp[i] 表示不经过前i 1个障碍,到达第i个障碍的方案数。这里定义cal(a,b) 表示从a到b,无障碍情况 阅读全文
posted @ 2018-10-26 01:47 RRRR_wys 阅读(136) 评论(0) 推荐(0) 编辑
摘要:GYM101002C Greetings! 做法:dp[i][S]表示用了i种信封,明信片的状态为S时的最小花费,预处理A[S]表示可以装的对应明信片的集合的花费, dp[i][s] =min(dp[i 1][s s2] + A[s2]), s2 \in s。 注意枚举所有子集, 阅读全文
posted @ 2018-10-02 18:25 RRRR_wys 阅读(260) 评论(0) 推荐(0) 编辑
摘要:GYM 101908F Music Festival 做法:将节目按照右端点排序,dp[i][st][0/1]表示前i个节目,选择的stage的状态用一个n位二进制数表示为st,第i个节目选或不选的最大值,转移时用线段树优化一下。 c++ include define pb push_back 阅读全文
posted @ 2018-09-30 22:10 RRRR_wys 阅读(521) 评论(3) 推荐(0) 编辑
摘要:牛客网暑期ACM多校训练营(第九场) A. Circulant Matrix 做法:看到下标 xor 这种情况就想 FWT,可是半天没思路,于是放弃了。。其实这个 n 疯狂暗示啊。设未知数向量为 x,列一下方程组就可以发现有: $$b[k] = \sum_{i \oplus j= k 阅读全文
posted @ 2018-08-16 19:43 RRRR_wys 阅读(349) 评论(0) 推荐(0) 编辑
摘要:HDU4455 做法:照着学姐的ppt做的。f[i]表示长度为i时的答案,考虑如何通过f[i 1]递推出f[i] eg:f[3] \rightarrow f[4] (1 1 2) 3 4 4 5 1 1 2 \rightarrow 1 1 2 3 :+1 1 2 3 $\righ 阅读全文
posted @ 2018-08-13 22:32 RRRR_wys 阅读(424) 评论(0) 推荐(0) 编辑
摘要:Codeforces274B 做法:树形dp,up[u]至少加多少次, down[u] 至少减多少次可以消去u这棵子树 转移:首先up[u] = max(up[v]), down[u] = max(down[u]),因为为了消除整颗子树一定要选最多的次数才能消完,那么现在这个节点的$a[ 阅读全文
posted @ 2018-08-07 19:32 RRRR_wys 阅读(273) 评论(0) 推荐(0) 编辑
摘要:HDU5693 做法: 1. 同hdu2476也时两次dp的题,首先可以列出方程f[i] = max(f[i 1], max(f[j 1]+(i j+1)) can[j][i])can[j][i]表示从j到i能否完全消除。 2. 现在考虑如何求出can[l][r],还是区间dp,任何一 阅读全文
posted @ 2018-08-07 18:41 RRRR_wys 阅读(191) 评论(0) 推荐(0) 编辑
摘要:HDU2476 做法: 1. 先想到用f[i]表示A的前i个字符变成B的最少涂得次数,不难写出方程,当A[i]≠B[i], f[i] = max(f[j 1]+cost[j][i]), 当A[i]=B[i]时,f[i]=f[j 1] , cost[i][j] 表示将i到j涂成和B 阅读全文
posted @ 2018-08-07 18:21 RRRR_wys 阅读(101) 评论(0) 推荐(0) 编辑
摘要:「LibreOJ NOIP Round 1」旅游路线 [题目链接][1] 做法: 1. 首先肯定要预处理些东西,来使单词询问达到o(logn)或者o(1)的复杂度,又因为距离这个东西的范围太大,我们考虑预处理一些费用相关的东西。 2. 考虑dp[s][j]表示从s出发花费j元,走的最长的 阅读全文
posted @ 2018-08-06 19:14 RRRR_wys 阅读(180) 评论(0) 推荐(0) 编辑
摘要:Educational Codeforces Round 48 C.Vasya And The Mushrooms 思路很简单,走法有一个统一形式就是先上下走,然后到某个位置左右一个来回。然后就推一下,后边那段的递推式子,枚举改变走法的位置即可。看出做法之后发现要推个式子,于是跑去写D了。。。然后D 阅读全文
posted @ 2018-08-04 03:35 RRRR_wys 阅读(880) 评论(0) 推荐(0) 编辑
摘要:组合博弈学习笔记 说在前边 1. 下面的博弈题目基本就是sg函数,搜必败必胜态,找规律,推策略。。。没有对理论进行深入了解。 HDU1527 搜索时发现,必败态的数对貌似有规律,首先他们的大小两个数的差值是逐个增加的。然后,差分打表,发现差值为1或者2.实在找不到规律了,OEIS了一发,是个黄金分割 阅读全文
posted @ 2018-08-02 02:27 RRRR_wys 阅读(334) 评论(0) 推荐(0) 编辑
摘要:概率期望学习笔记 POJ3869 题意:两个人转左轮手枪,朝自己打,枪里保证至少有一个空的,你的对手上一轮活下来了,现在到你了,问重新转左轮和直接打,哪个概率高。 做法:考虑00,10,两种串,即可计算不转时,下一个为空的概率。重新转的概率,就是这个手枪里所有空的位置比所有的口的个数。注意串是循环的 阅读全文
posted @ 2018-07-29 16:03 RRRR_wys 阅读(210) 评论(0) 推荐(0) 编辑
摘要:牛客网暑期ACM多校训练营(第三场) A. PACM Team 01背包,输出方案,用bool存每种状态下用的哪一个物品,卡内存。官方题解上,说用char或者short就行了。还有一种做法是把用的物品压成一个int。 c++ include include define rep(i,a,b) for 阅读全文
posted @ 2018-07-27 21:39 RRRR_wys 阅读(410) 评论(0) 推荐(0) 编辑

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