动态规划
Young_Zn_Cu
update:目前数学在读,金融入门级爱好者,考虑转码,目前学习深度学习和数据分析中。欢迎友好交流~
----------------------------------
SCOI yangxt
登山不以艰险而止,则必臻乎峻岭。
AFO
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2020-11-28NOIP模拟T1【区间DP】
这道题一开始被卡贪心思路然后发现大样例都过不了良心大样例对于一个数列2 4 2 3 4 32\ 4\ 2\ 3\ 4\ 32 4 2 3 4 3,贪心思路只取444,但是显然取2 32\ 32 3更优。正解:区间DPDPDP,看到对于区间操作求最值,但又不是维护一些最大值最小值之类的区间性质的时候,就可以联想一下区间DPDPDP的方法。具体做法:令f[i][j]f[i][j]f[i]原创 2020-11-28 22:39:27 · 199 阅读 · 0 评论 -
琪露诺【单调队列优化DP】
琪露诺#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <string>using namespace std;const int N=400000+50;int a[N],q[N],f[N],head=1,tail=1,p;int n,l,r;int ans=0;inline int read(){ int原创 2020-11-06 11:10:36 · 163 阅读 · 0 评论 -
2020-11-05NOIP模拟T1【二分染色】【DP/01背包】
思路原题链接(考试题不要求输出方案)第一步:建反图这道题如果想到了建反图思路就很明显了。建反图:如果两个人不互相认识,就连一条边。对反图求出所有连通块。容易发现在反图里连通的点一定不是相互认识的且在反图中不同连通分量中的点一定是相互认识的,那么就是说如果在反图里有边那么在原图里一定不能在同一个集合中。对相邻的顶点进行二分图染色,如果相邻点可以被染成不同颜色,那么就可行,反之不行。那么这道题就是在反图上进行二分图染色判断。第二步:010101背包考虑这个染色问题的附加限制条件:要使两个集合的人数尽原创 2020-11-06 11:08:46 · 158 阅读 · 0 评论 -
2020-11-03 NOIP模拟 T2
题解对于nnn较小的情况进行动态规划。令f[i][j]f[i][j]f[i][j]为当前有i张重掷符卡,当前骰子点数为j,可能的最大期望伤害。如果使用了重掷符卡,那么从1+16∑k=16f[i−1][k]1+\frac {1}{6}\sum^{6}_{k=1}f[i-1][k]1+61∑k=16f[i−1][k]转移,否则丢弃这张符卡从f[i−1][j]f[i-1][j]f[i−1][j]转移。打表可以发现对于充分大的iii,f[i][j]=f[i−1][j]+1f[i][j]=f[i-1][j]原创 2020-11-04 09:24:35 · 140 阅读 · 0 评论 -
[CTSC1997]选课【背包类树形dp】
[CTSC1997]选课令原创 2020-10-28 13:07:18 · 247 阅读 · 0 评论 -
[NOI2001]食物链【并查集】
[NOI2001]食物链将同类,被吃,吃分为三个部分,每次新看到一组条件,就在根据题意先检查有没有已经矛盾的边,然后在不同的部分里对应连边维护,最后输出答案即可。重点是把不同的关系分为几个部分然后在这几个部分里做对应的操作,大大减小了代码和思维难度这种方法似乎还挺普遍的,看到有相互抑制关系的时候除了想拓扑排序也要想到分部分建立并查集求解。[来自洛谷题解评论区]通过建立333个数量为1−n1-n1−n的集合,分别表示AAA吃BBB,BBB吃CCC,CCC吃AAA,也就是说在不清楚xxx这个动物在哪一原创 2020-08-01 14:29:11 · 163 阅读 · 0 评论 -
CF429B Working out
传送门SolSolSol:看题之后可以发现,就是在矩形内部找一个点,使得矩形的四个顶点到这里的值最大(最后值不包含这几个顶点的值)洛谷上的图 : )分别用dp1,dp2,dp3,dp4dp1,dp2,dp3,dp4dp1,dp2,dp3,dp4记录走到1,2,3,41,2,3,41,2,3,4的最大值,发现最后的最大值一定是A→CA \to CA→C横着走&&B→D\&\& B \to D&&B→D竖着走,或者A→CA \to CA→C竖着走&原创 2020-07-23 09:37:02 · 158 阅读 · 0 评论 -
20200606 NOIP模拟测
不得不说ATCATCATC的题真的考思路OrzOrzOrz,以后大概可以尝试用多种不同的角度看这些题说不定就能AAAT1【题目描述】在阿尔卑斯山上有N个天文台,编号分别为:1~N1~N1~N。这NNN个天文台的海拔高度分别为:H1,H2,……HNH_1,H_2,……H_NH1,H2,……HN。有MMM条路分别连接两个不同的天文台,某条路i连接天文台Ai和Bi。如果从一个天文台AiA_iAi出发通过一条路能到达与其相连的所有天文台(统称为AikA_{ik}Aik),并且AiA_iAi的原创 2020-06-12 22:05:09 · 306 阅读 · 1 评论 -
关于状态压缩DP的步骤总结
蒟蒻的个人理解,不保证正确,不保证完善位运算枚举每个当前题目中的状态, 枚举当前状态的每个分支状态,即[0/1][0/1][0/1]在或不在,预处理出每个状态的状态集合(即处理包含所有可到达的合法状态的状态集合)预处理出每个特殊状态的DP初值枚举所有状态,在当前状态下枚举能扩展到的合法集合,位运算判断当前点是否存在于此时枚举的合法状态中DP根据题意处理...原创 2019-11-08 22:03:29 · 176 阅读 · 0 评论 -
NOIP2016 换教室
感觉这道题代码细节令人智熄D1T3换教室做过且仅做过的一道期望DP,感觉DP不是很难写,就是细节贼多还容易弄混(论36pts -> 100pts的惨痛经历)思路:设dp[i][j][0/1]dp[i][j][0/1]dp[i][j][0/1]表示:处理到了序列第iii个元素,使用了jjj次申请机会,当前序列申请还是不申请时(0:申请,1:不申请),按照题意走过的最小期望长度。于是可...原创 2019-11-07 20:31:29 · 167 阅读 · 0 评论 -
2019-10-30 CSP-S模拟测试
D2T1树状数组好题妙处:三维偏序根据一个来排序,一个做下标,一个插入值,降成了二维离散化的妙处:把b的前缀和进行离散化处理,很方便的作为下标插入了树状数组思路:将a[],b[]a[],b[]a[],b[]预处理成∑ai,∑bi\sum{a_i},\sum{b_i}∑ai,∑bi,按照现在的a数组升序排序离散化bbb数组,在树状数组中查询...原创 2019-10-31 08:12:36 · 300 阅读 · 0 评论 -
P2831 愤怒的小鸟
P2831 愤怒的小鸟思路一看到所有数范围这么小,就是一个赤裸裸的状态压缩DP了设dp[S]dp[S]dp[S]表示当前死了的猪集合为S时,至少用了多少只鸟显然有以下方程dp[0]=0dp[0]=0dp[0]=0需要单独一只鸟打死这只猪时:dp[S∣(1<<(i−1))]=min(dp[S∣(1<<(i−1))],dp[S]+1)dp[S|(1<<...原创 2019-10-28 16:16:48 · 269 阅读 · 0 评论
分享