![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dp
ENESAMA
究极米其林肥宅
展开
-
机房训练赛--蒟蒻爆零记
是不是心中有一种痛苦的感觉感觉会做又不会做暴力dp可以dp【i】【j】表示甲队还有i次胜利 乙队还有j次 此时的钱数因为只会由dp【i+1】【j】和dp【i】【j+1】 转移过来所以n方就可以了然而正解。。。。令人意想不到胜率的+q和-q代入后面的式子试一下就知道了开始胜率为百分之五十最后会转移到百分之百或者百分之零所以每一份的贡献是二份...原创 2018-09-11 17:44:38 · 179 阅读 · 0 评论 -
神O和神牛
这是一道状压dp题dp[i]表示状态为i时最小的时间那么我们考虑什么时候可以办护照就是下机和登机的那个时间,那么我们枚举这一次办哪个签证,再找一下他能放的最靠前的位置就可以了如果我们能够把签证办理时间排序,可以发现最优位置单调不降,那么就可以O(2^n*n)做出这道题了代码写炸了好几次,还看错了题,实际上也不难#include<cstdio&...原创 2019-01-09 21:58:08 · 280 阅读 · 0 评论 -
序列
最近真的该好好反思一下,今天的题思路都是对的但是不是写错了,就是看错了,或者想的偏了,没有看到题的重点这道题如果没有单调递增的限制,不过就是一道简单的斜率优化那么有了过后呢,用树状数组来满足这个限制,我们现在就是一个单点修改区间查询每个点维护一下斜率优化时的东西,开个vector就可以了听说这道题也可用CDQ分治做,可以再思考一下#include<bits/st...原创 2019-01-01 18:11:29 · 196 阅读 · 0 评论 -
喵喵国的游走
这是一道很简单的dp题,但是思路比较难想主要方法就是枚举每个点走i次走回自己的方案数然后略微容斥一下,就可以A掉了#include<bits/stdc++.h>using namespace std;int mod,n,m,c[2005][2005],w[2005],dp[2005];int moc(int x){ if(x>=mod) return ...原创 2018-12-18 19:32:52 · 224 阅读 · 0 评论 -
yjqaa--BJ80中集训
给定一个非负整数x,你每次可以对x执行两种操作,要么令x=x−1,要么令x=x−2^i(前提条件是x&2^i≠0。令f(x,y)表示从x变成y的最小操作次数。求1<=x<=n,1<=y<=n,的所有f(x,y)的和对1000000007取模的结果。输入格式一行一个另一串表示询问的N的二进制表示(保证合法,没有前导0)输出格式一行一个整数表示答...原创 2018-12-23 19:13:22 · 307 阅读 · 0 评论 -
BJ80中--连续区间查询
给出一个1到N的排列,定义一个区间是连续的区间当且仅当这个区间的值域也是个区间。例如[1,3,2]是连续区间,但是[1,3]并不是。再给出M次询问,每次询问一个区间[L,R],需要求的是包含这个区间的长度最小的区间。如果有多个,请输出左端点最小的那一个。输入格式第一行一个整数N,表示排列长度。 接下来一行N个整数,用空格分开,表示给出的排列。 接下来一行一个整数M,表示询问个数。 ...原创 2018-12-21 21:10:42 · 514 阅读 · 0 评论 -
BJ80中--YJQ二分图
题目背景给定一个二分图,两个部分我们称之为A部和B部。对于一个A部的点Ai,其在B部中相邻的点是一个连续的区间,记为[Li,Ri]。现在你需要找一个尽量大的匹配,使之在具有匹配的性质的前提下,所有匹配边互不相交。(即不存在两条匹配边(Ai,Bx),(Aj,By),使得i<j,x>y)。输入格式第一行一个整数N,表示A部点数。 接下来N行,每行两个整数Li,Ri表示对...原创 2018-12-21 21:04:43 · 460 阅读 · 0 评论 -
BJ80中--电梯
题目背景有一栋大楼和N个访客,第ii个访客会在TiTi的时间到达第0层,他的目标是Ai层。 这栋大楼只有一部电梯,一开始电梯在第0层楼,每个访客会在能进电梯的时候就进入电梯,并按下自己所要去的楼层。每当电梯回到第0层楼的时候(包括一开始),电梯会一直打开门,直到你在后台控制电梯关门。在关门后,电梯会前往被按下的最高的楼层(过程中每个访客会在其目标楼层出电梯),然后回到第0层,同时清空标记(即让...原创 2018-12-21 20:28:45 · 372 阅读 · 0 评论 -
BJ80中集训---程序锁
这是一道思路题,话说这次集训特别喜欢考思路题我们考虑一个字符串什么时候不合法当且仅当当前值为0且两边均为P时然后我们发现当我们遇到P时我们是可以一直保留P的所以问题转化为对于两个字符串,分别求出f[i]表示前缀和最小为i且前缀和最小时,后一个字母为P此时的方案数是多少然后两个字符串的f[i]和f[j],如果i+j>=0,对答案就有f[i]*f[j]的贡献那...原创 2018-12-19 19:05:21 · 327 阅读 · 0 评论 -
bzoj2669 [CQOI2012]局部极小值
题目链接:洛谷 BZOJ这道题的方法是用dfs进行搜索容斥时,dp统计答案(感觉痛苦的同学建议做做)一个局部最小值就可以覆盖最少四个点(放在四个角上),最多九个(放在中间)所以最多只会有8个局部最小值,可以考虑一下状压我们可以考虑从小到大地放入每个元素dp[i][j]表示在选择的局部最小值状态为j时,已经选了i个数,此时的方案数这张图里面X代表的是局部最小值,红色的代表...原创 2018-10-16 17:24:56 · 265 阅读 · 0 评论 -
dirty机房训练赛-chess
开始以为是矩阵快速幂之类的题没想到居然是DP不过其实也快想到了不过关于最后剩下的几排出现了误区他们实际上也应该与前面一样的转移十分合理到位也就不多说了这是我的优美代码#include<bits/stdc++.h>using namespace std;const int mod=1e9+7;int n,C,fac[50005],inv[5...原创 2018-10-15 21:28:11 · 220 阅读 · 0 评论 -
机房训练赛----四微生物的游戏
这是一道老道的期望题我被高斯消元迷惑了双眼只想到了O(n^3)的做法我们将1号击杀0号转化为0号自杀会发现问题变得更容易思考一点dp[i][j]代表当还剩i个人时,如果第0个人率先自杀所有人胜利的概率那么接下来我们先计算每个人有多少的概率自杀可以发现传递的方式会形成一个环共有gcd(n,i)个环每个环的大小就是i/gcd(n,i)对于这个环里...原创 2018-10-05 20:49:35 · 207 阅读 · 0 评论 -
数字重排
很容易就能发现当最小值只有一个时的贪心策略剩下的可以用dp解决,很容易就能发现就是要选出一些数使得在模最小值的情况下最大那么就可以有一个很简单的O(N*C)的DP了,用bitset优化一下就可以了而且这个手写bitset的板子也很漂亮啊,以后我要多封装(雾...原创 2019-03-06 15:04:53 · 1154 阅读 · 0 评论