#zoj

BZOJ1297 [SCOI2009]迷路 矩阵乘法

  有向图有N个节点,从节点0出发,他必须恰好在T时刻到达节点N-1。现在给出该有向图,问总共有多少种不同的路径吗?注意:不能在某个节点逗留,且通过某有向边的时间严格为给定的时间。  矩阵乘法。  把一个点拆成9个,分别是time+0,time+1,time+2,...,time+8。  然后根据输入转移,构建矩阵即可...

BZOJ1296 [SCOI2009]粉刷匠 动态规划 分组背包

  有N条木板需要被粉刷。每条木板被分为M个格子。每个格子要被刷成红色或蓝色。windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色。每个格子最多只能被粉刷一次。如果windy只能粉刷T次,他最多能正确粉刷多少格子?一个格子如果未被粉刷或者被粉刷错颜色,就算错误粉刷。   对于每一个木板,我们...

BZOJ1295 [SCOI2009]最长距离 最短路 SPFA

  有一块矩形土地,被分为N*M块1*1的小格子。有的格子含有障碍物。如果从格子A可以走到格子B,那么两个格子的距离就为两个格子中心的欧几里德距离。如果从格子A不可以走到格子B,就没有距离。如果格子X和格子Y有公共边,并且X和Y均不含有障碍物,就可以从X走到Y。如果可以移走T块障碍物,求所有格子间的最大距离。保证移走T...

BZOJ1293 [SCOI2009]生日礼物 离散化

  彩珠有N个,分为K种。每一个彩珠有一个对应的坐标。坐标上可以没有彩珠,多个彩珠也可以出现在同一个位置上。小西希望一段彩带中能包含所有种类的彩珠。帮助小西计算这段彩带这个最短的长度。彩带的长度即为彩带开始位置到结束位置的位置差。   水题。  对于读入的,先离散化一下。  然后L和R卡过去就可以了。直接看代...

BZOJ1266 [AHOI2006]上学路线route Floyd 最小割 SAP

  一个无向图,第一问:从1~n的最短路。  第二问,删除价值总和最小的边,使得1~n的最短路变长。   第一问floyd跑一跑就可以了。  第二问,最小割就可以了。  最小割相关可以看这里(往后翻就有)。 #include<cstring>#include<cstdio>#...

BZOJ4997 [Usaco2017 Feb]Why Did the Cow Cross the Road III

  在n*n的区域里,每一个1*1的块都是一个格子。  有k头牛在里面。  有r个篱笆把格子分开。  如果两头牛可以不经过篱笆走到一起(过程中不能出界),那么他们就是不互相远离的,反之就是互相远离的。  问有多少对牛是互相远离的。注意(x,y)和(y,x)算作同样的。  对于同一区域的牛,我们可以相同对待。  所以我们...

BZOJ4994 [Usaco2017 Feb]Why Did the Cow Cross the Road III 树状数组

  给定长度为2N的序列,1~N各处现过2次,i第一次出现位置记为ai,第二次记为bi,求满足ai<aj<bi<bj的对数。  n<=100000(这个数据范围是我凑出来的,但是我没试过更小的范围,BZOJ上没写数据范围(截止2017-08-24))   水题,开一个树状数组在线解决。...

BZOJ4989 [Usaco2017 Feb]Why Did the Cow Cross the Road 树状数组 逆序对

  一条马路的两边分别对应的序列A、B,长度为n,两序列为1到n的全排列。当Ai=Bj时,两边之间会连一条边。你可以选择序列A或序列B进行旋转(只能使队尾或队头位置上的数字变成队头或队尾上的数字)任意K(0<=K<n)步,如123,可以变成231或312。求旋转后,最少的边的交叉数。   两个都可...

BZOJ4990 [Usaco2017 Feb]Why Did the Cow Cross the Road II 动态规划 树状数组

  有上下两行长度为n的数字序列A和序列B,都是1到n的排列,若abs(A[i]-B[j])<=4,则A[i]和B[j]间可以连一条边。现求在边与边不相交的情况下的最大连边数量。  我们用dp[i][j]表示枚举到A序列的第i个位置,与B序列的第j个位置匹配,所得到的最大效益,这样显然是要超时的,但是不妨去思考一...

BZOJ4993 [Usaco2017 Feb]Why Did the Cow Cross the Road II 动态规划 树状数组

  有上下两行长度为n的数字序列A和序列B,都是1到n的排列,若abs(A[i]-B[j])<=4,则A[i]和B[j]间可以连一条边。现求在边与边不相交的情况下的最大连边数量。   我们用dp[i][j]表示枚举到A序列的第i个位置,与B序列的第j个位置匹配,所得到的最大效益,这样显然是要超时的,但是...

BZOJ4992 [Usaco2017 Feb]Why Did the Cow Cross the Road 最短路 SPFA

  在一幅n*n的地图上,Amber从左上角走到右下角,每走一步需要花费时间t,每走完3步时,还要加上到达的那个格子的值。这里的3步不包括起动的那个格子。如果刚好3步到达右下角,则右下角格子的值也要算进花费中,否则不用计算进去。求最小花费。n<=100  最短路写一写就可以了,居然不卡spfa!  有一个点要注意...

BZOJ4977 八月月赛 Problem G 跳伞求生 set 贪心

  小明组建了一支由n名玩家组成的战队,编号依次为1到n。每局游戏开始时,所有玩家都会从飞机上跳伞,选择一个目的地降落。他们发现地面上一共有m间房子,编号依次为1到m。每间房子有一名敌人。第i名玩家有ai发子弹,第i间房子里的敌人有bi发子弹,消灭他可以获得ci点积分。每名玩家必须且只能选择一间房子降落。若第i名玩家选...

BZOJ4974 八月月赛 Problem D 字符串大师 KMP

  一个串T是S的循环节,当且仅当存在正整数k,使得S是T^k(即T重复k次)的前缀,比如abcd是abcdabcdab的循环节。给定一个长度为n的仅由小写字符构成的字符串S,请对于每个k(1<=k<=n),求出S长度为k的前缀的最短循环节的长度per_i。字符串大师小Q觉得这个问题过于简单,于是花了一分钟...

BZOJ1071 [SCOI2007]压缩 其他

  有两个序列a[1..n],b[1..n],其编号为1..n,设为s序列。现在我们要求出最长的满足条件的s的子序列s',设va=min(a[s[i]]),vb=min(b[s[i]]),满足对于所有的j=s'[i],A*(a[j]-va)+B*(b[j]-vb)<=C。   设v[i]=A*a[i]+...

BZOJ1260 [CQOI2007]涂色paint 动态规划

  假设你有一条长度为5的木版,初始时没有涂过任何颜色。你希望把它的5个单位长度分别涂上红、绿、蓝、绿、红色,用一个长度为5的字符串表示这个目标:RGBGR。每次你可以把一段连续的木版涂成一个给定的颜色,后涂的颜色覆盖先涂的颜色。例如第一次把木版涂成RRRRR,第二次涂成RGGGR,第三次涂成RGBGR,达到目标。用尽...
首页上一页...23456...下一页尾页