摘要: "vjudge" 题意 有$n$对新人在同一天结婚。$John$作为小镇上唯一的神父(牧师?)需要去给每一场婚礼搞一个仪式。第$i$场婚礼的持续时间是$S_i$到$T_i$,仪式可以安排在婚礼的前$D_i$分钟也可以安排在后$D_i$分钟举办。已知$John$可以从一个婚礼现场瞬移到另一个婚礼现场, 阅读全文
posted @ 2018-03-28 20:29 租酥雨 阅读(223) 评论(0) 推荐(0) 编辑
摘要: "vjudge" 题意 有一个$1 N$的棋盘,双方轮流在棋盘上下棋,先形成三个连续棋子者胜。 $N\le2000$ sol 还是要转换成“不能操作者败”的问题。 如果一方在格子$i$上下了一个棋,那么$i 2,i 1,i+1,i+2$(如果有的话)这些格子一定再也不能下了(因为你一下对方就赢了) 阅读全文
posted @ 2018-03-28 19:41 租酥雨 阅读(202) 评论(0) 推荐(0) 编辑
摘要: "vjudge" 题意 有一张$W H$大小的网格纸,每个人每次可以选择一块纸片沿任意一条网格线剪开,先剪出$1 1$大小方格者胜。 问是否先手必胜。$2\le W,H\le200$ sol 首先,像这样“谁先balabala”的问题是不能直接用$SG$函数去做的。 考虑一下问题的转化:两者都不能把 阅读全文
posted @ 2018-03-28 19:31 租酥雨 阅读(732) 评论(0) 推荐(2) 编辑
摘要: "bzoj" "luogu" sol 先考虑$d=0$怎么做吧。 每个位置上只有两种选法,相当于每个位置是一个布尔变量,选第一种方案布尔值为0,选第二种方案布尔值为1。 然后考虑一组限制条件$(i,h_i,j,h_j)$,设$u$表示$[$在$i$位置上选$h_i]$,$v$表示$[$在$j$位置上 阅读全文
posted @ 2018-03-28 16:23 租酥雨 阅读(213) 评论(3) 推荐(0) 编辑
摘要: "bzoj" sol 把一条边拆成两个点。 考虑这样一个东西:$\max(a,b)=a+\max(b a,0)$ 那么我们在每次进入一个点之前把他的入边的权值即$a$加上,在这个点的内部把$\max(b a,0)$加上。 如果$b a$那么就需要加上额外代价,如果$b\le a$额外代价就是零。 把 阅读全文
posted @ 2018-03-28 14:45 租酥雨 阅读(171) 评论(0) 推荐(0) 编辑
摘要: "bzoj" sol 显然你要知道每个位置下球的情况就要知道每个$sum_i sum_{i 1}$吧。 其实一个询问$i,j$就是告诉你$sum_j sum_{i 1}$的奇偶性,那么此时$sum_j$和$sum_{i 1}$这两个变量就相互关联了吧。 那么实际上就是要你使用最小的代价,把$sum_ 阅读全文
posted @ 2018-03-28 14:08 租酥雨 阅读(154) 评论(0) 推荐(0) 编辑
摘要: "bzoj" sol 按照$x$或$y$排序,考虑两个相邻的点之间的距离,显然分步走不会比直接走更劣。 所以按照$x$或$y$排序后,只对相邻的先连边。 $Dijkstra$即可。 code cpp include include include include define ll long lon 阅读全文
posted @ 2018-03-28 13:57 租酥雨 阅读(172) 评论(0) 推荐(0) 编辑
摘要: "bzoj" sol 很显然设$f_{i,j}$表示在$i$号点已经使用了$j$次免费的最小费用。 转移就是两种,使用免费或者是不使用。 相当于就是$nk$个点的最短路。 $Dijkstra$即可。 code cpp include include include include define pi 阅读全文
posted @ 2018-03-28 13:54 租酥雨 阅读(206) 评论(0) 推荐(0) 编辑