dp
oidoidooid
这个作者很懒,什么都没留下…
展开
-
HDU 6289 寻宝游戏
题目 看了题解才会写的题,而且题解和标称x和y的含义略有出入,看了巨久才看明白。 f[i][j][x][y]表示到达第i行第j列时路径内有x个没取,路径外有y个东西取了的可以达到的最大值。 然后向右向下转移即可,需要注意的是向右转移可以直接转移,但是向下转移时还需要考虑当前行左边未访问的格子和下一行当前列之前未访问的格子,需要进行预处理。 代码 #include<iostream...原创 2018-08-29 15:29:53 · 451 阅读 · 0 评论 -
AIM Tech Round 3(树形dp/multiset)
比赛网站 D 给你子序列11,10,01,00的个数,问是否存在这样的01序列,若有则输出一种。 简单数学题 #include<iostream> #include<stdio.h> #include<algorithm> #include<string.h> #include<vector> #include<set&g...原创 2018-12-03 23:13:08 · 139 阅读 · 0 评论 -
CF 106 div 2 (乘法dp/后缀自动机)
比赛连接 D 简单区间dp 一个合法的括号序列染色,一对匹配的括号必须有一个被染成红色或者蓝色,另一个不染色。 被染色的相邻括号不能相同颜色,问有几种染色的方法。 直接区间dp,转移就是考虑每种情况然后相乘就可以了。 #include<bits/stdc++.h> #include<stack> #define MOD 1000000007 using n...原创 2019-02-28 12:29:41 · 244 阅读 · 0 评论 -
CF 105 div 2 (dp水题)
写过史上最简单的一套cf 代码量少,想也好想 D 概率dp,转移只用考虑公主就可以了 #include<iostream> #define N 1005 using namespace std; double dp[N][N]; bool vis[N][N]; double dfs(int nw, int nb){ if (vis[nw][nb]) return dp[nw...原创 2019-02-28 20:58:12 · 155 阅读 · 0 评论 -
CF 365 div 2 (线段树应用/dp)
比赛网址 D 题意是对于一个序列,有一些询问,询问一个区间里出现了偶数次的数字的异或和。 离线回答,应用线段树即可 #include<iostream> #include<stdio.h> #include<algorithm> #include<string.h> #include<vector> #include<se...原创 2019-02-26 20:53:36 · 172 阅读 · 0 评论 -
CCPC2018 湖南全国邀请赛补题(DP/并查集/最长上升子序列)(H待补)
D 比赛时的思路是计数,没有想到DP,现在一想其实DP的挺明显的。 这个思路是网上一个我看的比较明白的思路。 题解: 1. 直接把整个环看成相同数目的黑白段的连接(必定是相同数目)。 2. 用DP计算将i个数分解成j段的所有分发的乘积和,,dp的时候用前缀和和滚动数组优化。 3.拼接的时候后取模。 #include<bits/stdc++.h> #define MOD ...原创 2019-05-16 16:23:26 · 197 阅读 · 0 评论