上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 37 下一页
摘要: 题目传送门 解题思路: f[i][j]表示i个苹果放j个盘子里的方案数,具体方程见代码注释 AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 long long n,k,p; 7 unsigned l 阅读全文
posted @ 2020-02-29 22:50 Mr^Simon 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 就是一个比较奇特的混合背包,每种情况单独处理就好了 AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 int n,m,w[101],c[101],a[101],id[101], 阅读全文
posted @ 2020-02-29 22:46 Mr^Simon 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 求一遍最长不下降和不上升子序列,然后总长度减去较大的长度. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 5 using namespace std; 6 7 int n,a[300 阅读全文
posted @ 2020-02-29 22:44 Mr^Simon 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 把甲的崇拜者设为-1,乙的崇拜者设为1,求前缀和,f[i]表示到第i个人所需的最少机房数. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 6 usin 阅读全文
posted @ 2020-02-29 22:42 Mr^Simon 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 一道贪心题,我们发现给的四个韵脚都有一个特点,就是两个A,两个B,那我们就从头开始,每遇到有两个字母各出现两次,答案加一,所有计数清空. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<map> 4 5 usi 阅读全文
posted @ 2020-02-29 22:38 Mr^Simon 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i]表示到第i位可获得的最大分割次数,对于每个f[i]都可由其符合条件的前缀转移过来,条件就是当前串除了前缀的剩余字符里有所给单词,然后一看,这不是在剩余字符里找有没有所给单词吗?所以果断KMP,其实本题好像不用KMP,暴力模拟就可以,但是为了练习KMP装逼,所以就写一下 阅读全文
posted @ 2020-02-27 23:27 Mr^Simon 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i]表示凑总面值i所需的最少邮票张数,然后快乐的跑完全背包. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<map> 4 #include<cstring> 5 6 using namespace std 阅读全文
posted @ 2020-02-27 23:22 Mr^Simon 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i]表示把i只羊渡河的最少时间,则本次可能带1~i只羊过河,然后转移方程就出来了. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 5 using namespace std; 6 7 阅读全文
posted @ 2020-02-27 23:20 Mr^Simon 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i]表示跳到第i层的最少移动次数,如果可以从下面一级跳上来,那么直接跳上来,如果跳不上来,那就往后退,退到不能退或能跳上第i层 AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #inc 阅读全文
posted @ 2020-02-27 23:14 Mr^Simon 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 其实对于一个sum[i],其值就等于sum[next[i]] + sum[next[next[i]]] + ... + 1,然后我们可以记忆化,然后题目里又有一个限制,就是前后缀不能重合,那我们就找到最大但是不重合的那种情况,然后往小了枚举就好了.最后答案说要取模,所以不要忘 阅读全文
posted @ 2020-02-25 23:06 Mr^Simon 阅读(76) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 37 下一页