摘要:
USACO月赛的银组题,dp性质比较明显,实现时有细节要注意用f[i,j]表示第i分钟跑,疲劳度为j时的最远距离 g[i,j]表示第i分钟休息,疲劳度为j时的最远距离有f[i,j]=max{f[i-1,j-1]+d[i] i>1 //上一秒跑 g[i-1,0]+d[i] j=1 //上一秒刚休息到疲劳为零} g[i,j]=max{g[i-1,j+1] j<m //上一秒休息 f[i-1,j+1] j<m //上一秒跑 g[i-1,0] j=0 //注意这个情况,体力为零时仍可以再休息}View Code 1 program pku3661(input,output); 2 v 阅读全文
摘要:
典型的2-SAT问题,每个数要么是0,要么是1,直接连边Tarjan即可如果用x表示第x个数取0,x+n表示第x个数取1,注意在x and y=1 时连(x--->x+n) (y--->y+n),表示x必须取1,当x取到0时,由于与1有边相连,在一个强连通里,无解!View Code 1 program pku3678(input,output); 2 type 3 node = ^link; 4 link = record 5 goal : longint; 6 next : node; 7 e... 阅读全文
摘要:
强省江苏也有这种比较水的送分题,囧典型的2-SAT问题,对于某一种材料,要么做满菜,要么做汉菜,连边时枚举评委,两者有相同编号的矛盾菜式则连边,不满足一得第一个要求就得满足一的第二个要求如h1 m2m1 h3由于材料1只有一种,所以做h1就必须做h3,做m1就必须做m2晒代码View Code 1 program jsoi2010(input,output); 2 type 3 link=^node; 4 node=record 5 goal:longint; 6 next:link; 7 end; 8 node2=record ... 阅读全文
摘要:
题目自己去看,网上的题解也是一堆一堆的,但这绝对是练习tire,欧拉路径和并查集的一道经典题目,还是重复一下老掉牙的流程 1.用tire给每一个颜色字符串编号。 2.先判断是否是欧拉路径(没有或只有两个奇点)。 3.用并查集判断图是否是连通的。过了样例之后,先测一下这组数据:a bb cc ad ee ff d答案是impossible,如果正确的话,没有大错误就应该AC了。这题很BT的卡常数,如果编号时用nlogn的SBT,就会超时,想来NlogN和NL,logN≈20,L是10,才差两倍,无语,个人是这么想的~~~~附上代码:View Code 1 ... 阅读全文
摘要:
vijos1081 野生动物园 把区间以首端点为第一关键字,尾端点为第二关键字排序,充分利用区间不互相包含的性质,每次把新到元素插入,超出当前区间的元素删除,统计答案即可,不要得意忘形,忘掉了要按询问顺序输出,codewaysky为这个问题调了一个下午,偷笑View Code 1 {$inline on} 2 program zoo(input,output); 3 var 4 left,right,key,s,eat:array[0..100001] of longint; 5 x,y,c,number,ans:array[0..50001] of longint; ... 阅读全文