-------DP-------
文章平均质量分 62
ccosi
停下了,也要重新出发
展开
-
【BZOJ】 [SCOI2008]奖励关-状压DP
传送门:点击打开链接 题意:奖励关中,系统依次随机抛出k次宝物,每次选择吃或者不吃。宝物共n种,系统每次抛出这n种宝物的概率都相同且相互独立。 获取第i种宝物将得到Pi分,第i种宝物有一个前提宝物集合Si。只有当Si中所有宝物都至少吃过一次,才能吃第i种宝物。Pi可以是负数。假设采取最优策略,平均情况一共能在奖励关得到多少分值?数据规模:1<=k<=100,1<...原创 2018-02-26 23:28:58 · 245 阅读 · 0 评论 -
【BZOJ】ZJOI2007仓库建设-斜率优化
传送门 BZOJ1096题意:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;L公司有N个工厂,由高到底分布在一座山上。工厂1在山顶,工厂N在山脚。在某些工厂建立一些仓库。在不同工厂建立仓库的费用可能是不同的。第i个工厂目前已有成品Pi件,在第i个工厂位置建立仓库 的费用是Ci。对于没有建立仓库的工厂,其产品应被运往其他的仓库进行储藏,产品只能往山下运(即只能运往编号更大的工厂的...原创 2018-03-16 23:02:08 · 224 阅读 · 0 评论 -
【BZOJ】绝世好题-DP
今天做了一道绝世好题~ 传送门:BZOJ4300题意&nbsp;&nbsp;&nbsp;&nbsp;给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&amp;bi-1!=0(2&lt;=i&lt;=len)。数据范围n&lt;=100000,ai&lt;=2*10^9题解&nbsp;&a原创 2018-03-17 19:30:12 · 249 阅读 · 0 评论 -
【POJ】Traveling by Stagecoach -最短路状压Dp
传送门:poj2686DescriptionA traveler plans to travel using stagecoaches=. His starting point and destination are fixed. Your job in this problem is to write a program which determines the route for ...原创 2018-03-17 20:08:43 · 226 阅读 · 0 评论 -
【洛谷】分梨子
传送门:点击打开链接题意: 每个梨子都具有两个属性值,Ai和Bi。设在选出的梨子中,两个属性的最小值分别是A0和B0。对于所有被选出的梨子i,都满足C1*(Ai-A0)+C2*(Bi-B0)≤C3(其中,C1、C2和C3都是已知的常数).求最多可以挑选出多少个梨子。数据范围: 对于20%的数据,N \le 5N≤5 ,1 \le B_{Min} \le B_{Max} ...原创 2018-03-12 22:28:34 · 266 阅读 · 0 评论 -
【BZOJ】栅栏-线段树优化DP
蒟蒻做了一天线段树,表示心态炸裂,从未想到线段树还有这么多操作(已狗带)。 传送门:BZOJ3387题意 Farmer John 为奶牛们设置了一个障碍赛。障碍赛中有n个(n≤50000)各种长度的栅栏,每个都与x轴平行,其中的第i个栅栏的y坐标为i。 终点在坐标原点(0,0),起点在...原创 2018-03-19 23:08:14 · 664 阅读 · 0 评论 -
【洛谷】乌龟棋-DP
传送门:乌龟棋-洛谷题意 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。 乌龟棋中M张爬行卡片,分成4种不同的类型(M张卡片中不一定包含所有4种类型的卡片,见样例),每种类型的卡片上分别标...原创 2018-03-25 22:27:21 · 210 阅读 · 0 评论 -
【PE】Counting summations-完全背包
传送门:Project Euler 76DescriptionIt is possible to write five as a sum in exactly six different ways:4 + 1 3 + 2 3 + 1 + 1 2 + 2 + 1 2 + 1 + 1 + 1 1 + 1 + 1 + 1 + 1How many different wa...原创 2018-03-21 23:19:59 · 182 阅读 · 0 评论 -
【洛谷】[USACO06NOV]玉米田Corn Fields-状压DP
传送门:洛谷-玉米田题意&nbsp;&nbsp;&nbsp;&nbsp;农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形的土地。John打算在牧场上的某几格里种上美味的草,供他的奶牛们享用。 &nbsp;&nbsp;&nbsp;&nbsp;遗憾的是,有些土地相当贫瘠,不能用来种草。并原创 2018-03-27 13:18:36 · 234 阅读 · 0 评论 -
【洛谷】棋盘制作-悬线法DP
传送门:洛谷-棋盘制作题意&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;小Q找到了一张由N*M个正方形的格子组成的矩形纸片,每个格子被涂有黑白两种颜色之一。小Q想在这种纸中裁减一部分作为新棋盘,当然,他希望这个棋盘尽可能的大。 &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nb原创 2018-03-27 13:26:14 · 431 阅读 · 0 评论 -
【BZOJ】 [Coci2015]Kamp-树形DP
传送门:BZOJ3743Kamp题意&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;一颗树n个点,n-1条边,经过每条边都要花费一定的时间,任意两个点都是联通的。 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;有K个人(分布在K个不原创 2018-03-27 23:01:40 · 492 阅读 · 1 评论 -
【洛谷】[ZJOI2007]时态同步-树形DP
传送门:洛谷-[ZJOI2007]时态同步题意小Q在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3….进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列)。在电路板上存在一个特殊的元件称为“激发器”。当激发器工作后,产生一个激励电流,通过导线传向...原创 2018-03-27 23:11:07 · 164 阅读 · 0 评论 -
【NOIP2016】换教室-最短路+DP
传送门:洛谷-换教室题意&nbsp;&nbsp;&nbsp;&nbsp;对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程。 &nbsp;&nbsp;&nbsp;&nbsp;在可以选择的课程中,有2n2n2n节课程安排在nnn个时间段上。在第i(1≤i≤n)i(1≤i≤n)i(1 \leq i \leq n )个时间段上,两节内容相同的课程原创 2018-03-28 13:00:23 · 212 阅读 · 0 评论 -
【洛谷】有线电视网-树形DP
传送门:洛谷-有线电视网题意某收费有线电视网计划转播一场重要的足球比赛。他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点。 从转播站到转播站以及从转播站到所有用户终端的信号传输费用都是已知的,一场转播的总费用等于传输信号的费用总和。 现在每个用户都准备了一笔费用想观看这场精彩的足球比赛,有线电视网有权决定给哪些用户...原创 2018-03-28 22:59:51 · 480 阅读 · 1 评论 -
【BZOJ】[ZJOI2010]count 数字计数-数位DP
传送门:BZOJ1833-数字计数题意给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。数据范围30%的数据中,a&lt;=b&lt;=10^6; 100%的数据中,a&lt;=b&lt;=10^12。题解数位DP。 设f[i]为共i位数字不考虑前导0情况下每个数码出现次数(显然相等) 特殊处理一下数的零头就...原创 2018-05-01 20:30:00 · 200 阅读 · 0 评论 -
【BZOJ】作业-DP
传送门:bzoj3791-作业题意众所周知,白神是具有神奇的能力的。比如说,他对数学作业说一声“数”,数学作业就会出于畏惧而自己完成;对语文作业说一声“语”,语文作业就会出于畏惧而自己完成。今天,语文老师和数学老师布置了许多作业,同学们纷纷寻找白神寻求帮助。白神作为一个助人为乐的人,便答应下来。回到家,白神将这N份作业按顺序摊开,发现语文作业数学作业混在一起,这就让白神...原创 2018-05-04 23:20:43 · 220 阅读 · 0 评论 -
【BZOJ】2506calc-DP
传送门:bzoj2506题解非常妙的dp! 对于100以内,直接预处理。 100以上,直接找(1e4的范围使次数严格不大于100) 但这样还不够, 我们把询问离线下来,记录每个询问的左右端点,用2*n的结构体分别记录,然后sort一遍,直接从左到右扫,扫到一个点就记录一下,回答的时候拿终点和起点-1做前缀和的差。 orzzzzhwer代码//made ...原创 2018-05-12 19:57:59 · 125 阅读 · 0 评论 -
【BZOJ】4197: [Noi2015]寿司晚宴-状压DP
传送门:bzoj4197题解状压dp了解一下。500−−−√500\sqrt{500}以下的质数就八个,其他特殊因数用pair存。状态转移要注意。代码#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;cmath&gt;#include&lt;iostream&gt;#includ原创 2018-05-19 13:07:12 · 136 阅读 · 0 评论 -
【BZOJ】[SHOI2008]cactus仙人掌图
传送门:BZOJ1023仙人掌图题意&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人掌图(cactus)。所谓简单回路就是指在图上不重复经过任何一个顶点的回路。 &amp;amp;原创 2018-03-26 23:27:59 · 395 阅读 · 1 评论 -
【BZOJ】1003物流运输-SPFA&DP
题解论读题的重要性…… 已经不止一次因为读错题把傻逼题看成不可做题了…… 题意实际上时说,我们制定的这条路线,在这期间内,只有有一天,某个结点不可通过,就不行,也即选择每个结点必须都是这段时间内都可以通过的。 天数只有一百,直接f[i][j]把第i-j天的最短路求出来,再dp一波即可。代码#include&lt;cstdio&gt;#include&lt;iostr...原创 2018-06-06 14:41:11 · 181 阅读 · 0 评论 -
【BZOJ】4903: [Ctsc2017]吉夫特-DP
题解卢卡斯定理: (nm)≡(⌊np⌋⌊mp⌋)(n%pm%p)(modp)(nm)≡(⌊np⌋⌊mp⌋)(n%pm%p)(modp)\dbinom{n}{m}\equiv\dbinom{\lfloor\frac np\rfloor}{\lfloor\frac mp\rfloor}\dbinom{n\% p}{m\%p} \pmod p 很好证明的。 如何保证(nm)&amp;amp;amp;nbsp;mod&amp;amp;amp;...原创 2018-06-06 15:46:10 · 214 阅读 · 0 评论 -
【BZOJ】1009GT考试-kmpDP
传送门:bzoj1009题解先用kmp预处理一下dp的转移状态。 然后矩阵快速幂一波?(这个矩阵快速幂比较妙妙,我都没想到)代码#include&lt;bits/stdc++.h&gt;using namespace std;int n,m,mod,nxt[25];struct mat{ int t[25][25];}a,b,c,tmp;char s...原创 2018-05-30 22:55:08 · 200 阅读 · 0 评论 -
【BZOJ】3925地震后的幻想乡-概率dp
传送门:bzoj3925题解粘一波题解代码#include&lt;bits/stdc++.h&gt;#define db doubleusing namespace std;typedef long long ll;const int N=(1&lt;&lt;11);ll f[N][50],g[N+10][50],c[50][50];db ans;int n,...原创 2018-05-30 23:34:19 · 198 阅读 · 0 评论 -
【BZOJ】3997组合数学-dp
传送门:bzoj3997代码#include&lt;cstdio&gt;#include&lt;cstring&gt;using namespace std;typedef long long ll;const int N=1010;int a[N][N],T,n,m;ll f[N][N],ans;inline ll max(ll x,ll y){return x...原创 2018-05-30 23:36:50 · 276 阅读 · 0 评论 -
【BZOJ】4726[POI2017]Sabota?-树形dp
传送门:bzoj4726题解设f[x]f[x]f[x]是x节点不叛变最坏情况下所要求的最小比例。 dfs一遍就好啦。代码#include&lt;cstdio&gt;#include&lt;vector&gt;#define db double#define o(x,y) g[x].push_back(y)using namespace std;const i...原创 2018-05-30 23:42:44 · 204 阅读 · 0 评论 -
【BZOJ】4723 [POI2017]Flappy Bird-dp/找规律
传送门:bzoj4723题解看到此题,本蒟蒻去重温了一下fb…(还是那么菜) 有两种方法(一种比较直观,一种比较玄学)。 直观的: 考虑对于每个坐标,我们飞到(x,y)(x,y)(x,y)所点击的次数实际上是固定的((x+y)/2(x+y)/2(x+y)/2),而且我们也只能飞到横纵坐标奇偶性一样的位置。而且这个小鸟它可以打洞!(飞到纵坐标为负的位置),所以只要飞过最后一个障碍就...原创 2018-05-30 23:57:06 · 240 阅读 · 0 评论 -
【BZOJ】3611: [Heoi2014]大工程-虚树&树形DP
传送门:bzoj3611题解C(k,2)条边就是把所有点之间都连起来…然后询问所有两两之间边的最大值和最小值。(读错题意了蜜汁尴尬) 注意询问节点总数不超过2n,当然是建虚树,然后在虚树上dp啦。 建虚树的方法是这样的,要维护一条最右链(用的链式前向星,当然是最右了(雾)) k=rd();for(i=1;i&lt;=k;++i) {a[i]=rd();in[a...原创 2018-06-24 21:31:53 · 181 阅读 · 0 评论 -
【BZOJ】4574: [Zjoi2016]线段树-DP
传送门:bzoj4574题解转自lych_cys 题意就是求每个数在所有方案中的最终值的和。显然一个数经过若干次变化一定会变成另外一个数,那么离散化后,令g[i][j]表示i这个数最终变成从小到大第j个的方案数。一个直观的思路是,我们枚举j,那么显然g[i][j]&amp;gt;0的i的范围是(l,r),其中a[l]和a[r]是第j大的数两侧分别第一个大于这个从小到大第j个数的数(由于是随机因此...转载 2018-06-24 21:59:03 · 297 阅读 · 0 评论 -
【BZOJ】2326: [HNOI2011]数学作业-dp&矩乘
题解dp递推式列出来后表示成转移矩阵,对于每一位数左移位数不同时逐次处理即可。n≤1018n≤1018n\leq 10^{18},最多算18次。代码#include&lt;cstdio&gt;using namespace std;typedef long long ll;ll n,pow[20];int mod,l;struct mat{ int a[5][5...原创 2018-06-18 18:11:41 · 153 阅读 · 0 评论 -
【BZOJ】4069: [Apio2015]巴厘岛的雕塑-dp
题解是位或和啊,(看成异或了orz) 数据范围给得很秒:子任务 1 (9 分) 1&lt; = N&lt; = 20 1&lt; = A&lt; = B&lt; = N 0&lt; = Yi&lt; = 1000000000子任务 2 (16 分) 1&lt; = N&lt; = 50 1&lt; = A&lt原创 2018-06-18 19:31:59 · 192 阅读 · 0 评论 -
【BZOJ】1806: [Ioi2007]Miners 矿工配餐-DP
dp傻x题 代码#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+10;int n,ans,f[2][4][4][4][4];int rv[305];char s[N];inline void itia(int o)...原创 2018-07-01 14:36:16 · 141 阅读 · 0 评论 -
【BZOJ】4455: [Zjoi2016]小星星-状压DP&容斥
传送门:bzoj4455题解此题dp姿势清奇,反正本蒟蒻没有想出来。 考虑到如果强制用状压对应每种状态很不好转移。 所以我们可以强制每次不选某些点,且在可选的点里可以重复选点的情况。 容斥一下即可。 具体看代码?代码#include&lt;cstdio&gt;#include&lt;cctype&gt;using namespace std;typ...原创 2018-07-01 19:19:36 · 306 阅读 · 0 评论 -
【LOJ】#2330. 「清华集训 2017」榕树之心 -树形dp
传送门:loj2330题解先考虑根的情况(Subtask 3)。 根的每个儿子及其构成的子树之间可以互相抵消。 设rem[i]表示以i为根的子树最少的不能互相抵消的点数。 那么考虑根的最大儿子mx[1], 若sz[1]−1−sz[mx[1]]≤rem[mx[1]]sz[1]−1−sz[mx[1]]≤rem[mx[1]]sz[1]-1-sz[mx[1]]\leq rem[mx...原创 2018-07-04 18:50:15 · 362 阅读 · 0 评论 -
【CF】700E Cool Slogans 后缀自动机&DP&贪心&线段树可持久化合并
传送门:codeforces700E题解做这道题时又发现自己对后缀自动机的理解还不够深刻。。。 简单说一下题意,给定一个字符串,求一个子串序列s1,s2,s3...s1,s2,s3...s_1,s_2,s_3...,满足序列中sisis_i在si+1si+1s_{i+1}中至少出现了两次(出现的范围之间可以相交,起始点不同即可),要求输出子串序列的最大长度。 设f[i]f[i]...原创 2018-08-14 19:29:02 · 271 阅读 · 0 评论 -
【洛谷】月赛:Tomoya loves Nagisa-DP&找规律
传送门:luoguT39018题解k=0k=0k=0时直接输出nnn的逆元。这题一看是个DP,设f[i][j]f[i][j]f[i][j]表示在第iii轮后,已更换jjj次的蒙对的最大概率。 转移方程似乎是这样的:f[i][j]=max(f[i−1][j],(1−f[i−1][j−1])/(n−i−1))f[i][j]=max(f[i−1][j],(1−f[i−1][j−1]...原创 2018-08-08 20:52:12 · 362 阅读 · 0 评论 -
【AtCoder】ARC70D No Need -DP&贪心
传送门:arc70d题解我好菜啊。。。这么一道600pts600pts600pts的题想了这么久。。。 首先观察出最后的答案必然为值最小的前几个数(光这个都思考了很久QWQ),简单证明一下: 先将aaa排序。 一个数aiaia_i是unnecessaryunnecessaryunnecessary当且仅当所有含有这个数的“好”集合的值≥k+ai≥k+ai\geq k+a_i。...原创 2018-08-16 15:34:53 · 302 阅读 · 0 评论 -
【AtCoder】AGC20C Median Sum DP&bitset优化
传送门:AGC20C题解考虑包括空集的全集为2n2n2^n个,每个集合都有对应的补集。 现在不考虑nnn的补集,一共2n−22n−22^n-2个,一共2n−1−12n−1−12^{n-1}-1对互补的集合,中位数就是求2n−12n−12^{n-1}这个位置上的集合的值,也就是中位数集合中偏大的一个:(sum+1)/2(sum+1)/2(sum+1)/2,总和的一半上取整。 但是...原创 2018-08-16 16:42:30 · 214 阅读 · 0 评论 -
【AtCoder】CODE FESTIVAL 2017 qual B E - Popping Balls-组合计数
传送门题解%%% FactorioFactorioFactorio神犇!!!这里介绍一种奇妙的做法,不难理解,代码也很好写。 其实并不需要考虑每种情况下s,ts,ts,t具体是多少,只需要根据当前情况需要再决定,可以证明以下情况都是存在s,ts,ts,t使之成立的: 这里设s&lt;ts&lt;tsAAA个红球,BBB个蓝球可以把取球分成三个部分的动作:ttt位置未变空 ...原创 2018-08-16 20:17:35 · 310 阅读 · 0 评论 -
【BZOJ】1090: [SCOI2003]字符串折叠 -区间DP
bzoj1090题解区间DP&amp;记忆化搜索。 设dp[l][r]dp[l][r]dp[l][r]表示字符串[l,r][l,r][l,r]区间的最小表示(l=r时,dp[l][r]=1l=r时,dp[l][r]=1l=r时,dp[l][r]=1)。 枚举分割点,先不考虑两段之间的折叠,得到: dp[l][r]=min(dp[l][k]+dp[k+1][r])(l≤k&lt...原创 2018-08-28 23:26:41 · 238 阅读 · 0 评论 -
【BZOJ】1016: [JSOI2008]最小生成树计数
传送门:bzoj1016代码算一下就好了……#include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;typedef long long ll;const int N=102,M=1003;const int mod=31011;int n,m,cnt,tot,f[N];ll ans=1,sum;struct L{int ...原创 2018-05-19 13:00:44 · 100 阅读 · 0 评论