随笔分类 - ----动态规划
摘要:选举越来越近了,所以总统Amabo Kcarab准备在美国计划一次旅行,并在WDC和LA进行演讲。特务为了能够保护总统的安全,需要时刻监控所有总统会经过的城市(包括WDC和LA)。当然,为了使预算不会太大,总统不会用到AF1,而会用汽车作为交通工具。并且,特务计划在总...
阅读全文
摘要:话说世界上有很多超级英雄:蝙蝠侠,蜘蛛侠,超人,名字都写不出来的人等等。在他们之中有一个叫Kickass。今天他想模仿蜘蛛侠,所以他选择了一排高楼来跳。具体来说,他选择了一列N幢高楼,从左到右标号为1到N。一开始他在第K幢高楼。不幸的是,Kickass能力非常有限,只...
阅读全文
摘要:如前面提到,ABC的汽车工厂有N个工人,他们在一个传送带上生产汽车,工人从左到右排列,编号依次为1到N,采用流水线模式,每个人负责自己的一部分工作。生产一台汽车需要从1号工人开始,当1号完成他的工作后,2号就会开始工作,然后是3号,最后当N号工人完成他的工作后,整个汽...
阅读全文
摘要:题目传送门突然听说要去THUAC让我很虚于是进入赛季恢复期发现自己已经不如退役选手了。。。。No!好的开始讲题第一问:显然线性可加乱搞啊,f[i]表示n=i时候的答案那么每加入2个节点在减掉原来那个就好了,f[i]=(f[i-1]*(i-1)+(f[i-1]+1)*2...
阅读全文
摘要:顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆序为“cba”,不相同)。 输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串。PAM模(m...
阅读全文
摘要:题目传送门四边形不等式第一题,口胡一下我们原来的方程式:f[i][j]=sum[i][j]+max(f[i][k]+f[k+1][j]){i#include#include#define N 2010using namespace std;int n,m,a[N],s...
阅读全文
摘要:维护一个序列,使它可以进行下面两种操作:1.在末尾添加一个数字x2.将整个序列变成第x次操作后的样子在每次操作后,输出当前序列的最长上升子序列的长度序列初始时为空嗯,可持久化线段树的裸题额这可是noip提高组难度的题,我们发现所有操作可以变成一棵树(离线做法老套路了)...
阅读全文
摘要:国家一级爬山运动员h10今天获得了一张有着密密麻麻标记的地图,在好奇心的驱使下,他又踏上了去爬山的路。对于爬山,h10有一个原则,那就是不走回头路,于是他把地图上的所有边都标记成了有向边。他决定从点S出发,每到达一个新的节点他就可以获得一定的成就值。同时h10又是一个...
阅读全文
摘要:由于n很小(#include#includeusing namespace std;int f[16][3][1=g[0] && f[1]>=g[1];}int main(){ scanf("%d",&n); MS=1<<n+1; for(int i=1;i<=n;++i){ scanf("%d...
阅读全文
摘要:相信大家都在长训班学过树塔问题,题目很简单求最大化一个三角形数塔从上往下走的路径和。走的规则是:(i,j)号点只能走向(i+1,j)或者(i+1,j+1)。如下图是一个数塔,映射到该数塔上行走的规则为:从左上角的点开始,向下走或向右下走直到最底层结束。 1 3 8 ...
阅读全文
摘要:温馨提示:本文附带bgm worldwideD最近有午睡的习惯~ 某日中午,他做了一个梦:梦见有一个怪人,她去一个岛上住N+1天(编号为0到N)。这是在大洋中的岛,每天要么是晴天,要么刮台风。 她到达岛的第0天是晴天(这样她才能上岸)。然后对于第i天...
阅读全文
摘要:给你序列A和B,求出他们LCS的方案数,|A|,|B|#include#include#define M 1000000007using namespace std;inline void ad(int& x,long long y){ x=(x+y+M)%M; }int f[5010][5010]...
阅读全文
摘要:由于n很小(#include#includeusing namespace std;int f[16][3][1=g[0] && f[1]>=g[1];}int main(){ scanf("%d",&n); MS=1<<n+1; for(int i=1;i<=n;...
阅读全文
摘要:相信大家都在长训班学过树塔问题,题目很简单求最大化一个三角形数塔从上往下走的路径和。走的规则是:(i,j)号点只能走向(i+1,j)或者(i+1,j+1)。如下图是一个数塔,映射到该数塔上行走的规则为:从左上角的点开始,向下走或向右下走直到最底层结束。 1...
阅读全文
摘要:温馨提示:本文附带bgm worldwideD最近有午睡的习惯~ 某日中午,他做了一个梦:梦见有一个怪人,她去一个岛上住N+1天(编号为0到N)。这是在大洋中的岛,每天要么是晴天,要么刮台风。 她到达岛的第0天是晴天(这样她才能上岸)...
阅读全文
摘要:给你序列A和B,求出他们LCS的方案数,|A|,|B|#include#include#define M 1000000007using namespace std;inline void ad(int& x,long long y){ x=(x+y+M)%M; }i...
阅读全文
摘要:对于一个1->n的排列 ,定义A中的一个位置i是好的,当且仅当Ai-1>Ai 或者Ai+1>Ai。对于一个排列A,假如有不少于k个位置是好的,那么称A是一个好的排列。现在有q个询问,每个询问给定n,k,问有多少排列是好的。答案对10^9+7取模。显然是计数类dp,我们设f[i][j]表示对于一个1-...
阅读全文
摘要:现在有n个人要排成一列,编号为1->n 。但由于一些不明原因的关系,人与人之间可能存在一些矛盾关系,具体有m条矛盾关系(u,v),表示编号为u的人想要排在编号为v的人前面。要使得队伍和谐,最多不能违背k条矛盾关系(即不能有超过k条矛盾关系(u,v),满足最后v排在了u前面)。问有多少合法的排列。答案...
阅读全文
摘要:有两个长度为n的排列A和B,定义排列的价值f(A,B)为所有满足A[i]>B[i]的位置i的数量。现给出n,A,B和S,其中A和B中有一些位置的数未知,问有多少种可能的填数的方案使得f(A,B)=S保证不存在一个位置i满足A[i]=0且B[i]=0十分有趣的题目,是个神奇的组合数学+dp我们先将问题...
阅读全文
摘要:0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO。这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Galo,美味度为w[i]。OvO发现,如果她摘下了i号Galo,那么i的子树中的Galo以及i到根的路径上的其他Galo都会死掉。...
阅读全文