20240221总结

P4311 士兵占领

考虑先把棋盘放满,判掉无解,并把问题转化为拿走最多的棋子。

这个问题就一眼最大流了,对于行和列分别建M,N个节点,源点向行节点连流量为该行最多可删个数的边,列节点向汇点连该列最多可删个数的边,对于每个可放士兵的(i,j),从行节点i向列节点j连一条流量为1的边,跑最大流就行。

CF1404D Game of Pairs

一道益智题,先考虑作为A分元素。

最简单的分法显然就是分成n组(i,i+n),观察这样是否是必胜策略。

假设B每一组全选了i,那么权值和为\(\frac{n(n+1)}{2}\),如果选了j个i+n,权值和会多\(j\times n\),所以最后权值和是\(\frac{n(n+1)}{2}+a\times n\)的形式(a为常数)

前面一部分如果整除n,后面一部分的a是可以为奇也可以为偶的,这时B一定有策略战胜这种分法。

否则,前面一部分不整除n,这时A必胜

考虑前面一部分是否整除n,决定于分母的2除在n还是n+1上,也就是n的奇偶性:

  • 1.n为偶数
    分母除在n上,前面一部分必定不整除n,A必胜
  • 2.n为奇数
    这时分母除在n+1上,B存在选法,A不必胜

大胆猜测,n为奇数的时候是不是B有必胜策略。
考虑当A不像上文这么选B是否可以使权值和为相同的形式:

考虑把问题转化到图上,先把i与n+i连边,再对于A的每个二元组连边,显然这个图是二分图。

这时整张图一定由若干个环组成,对于每个环,隔一个取一个就行(如果取出的权值和是n的奇数倍,就去正好相反的另一组)

P3705 [SDOI2017] 新生舞会

题目要最大化:

\[\frac{\sum_{i=1}^{n}a_i }{\sum_{i=1}^{n}b_i} \]

\(C=\frac{\sum_{i=1}^{n}a_i }{\sum_{i=1}^{n}b_i}\)
变形可得:

\[\sum_{i=1}^{n}a_i-C\times b_i=0 \]

考虑二分C值,然后套上费用流求解即可

posted @ 2024-02-21 16:15  星河倒注  阅读(17)  评论(0)    收藏  举报