ABC224
ABC224
A
签到
B
签到
C
有\(n\leq 300\)个点,求任选三个构成一个三角形的方案数
解:
枚举三个点,判断是否在一条线上把\(\frac{x_1-x_2}{y_1-y_2},\frac{x_2-x_3}{y_2-y_3}\)判断分数交叉相乘变成判断整数
D
有\(8\)个点和\(m\)条边,其中\(7\)个点上有字符,有连边且一端为空的点之间可以移动字符,求最少几个可以把字符挪成给定的形态
解:
\(bfs\),每次找空着的位置无脑缓过来
E
\(n*m\)的网格图,在\(x_i,y_i\)处有数字\(a_i\),求从每个\(x_i,y_i\)处出发可以移动的最大次数,一个点仅可以移动同一行或同一列上数字比自己大的格子处。
解:
显然按权值排序,每个点从自己对应的行和列里面最大的转移,然后更新自己所在的行和列
F
给定一个字符串\(s\),仅有数字组成。求所有在字符串的第\(1\sim n-1\)个字符后面加\(+\)号的方式构成的加法式子之和
解:
对于第\(i\)位数字
如果在他后面加\(+\),那么它将作为个位数,有\(2^{n-1}\)种方法
如果在他后面不加\(+\),他作为十位数,在他后面一位后加\(+\),有\(2^{n-2}\)种方法
……
如果在后面\(i\)为才加\(+\),有\(2^{n-i-1}\)种方法
注意总共有\(2^n\)种方法,最后一位时要把剩下的方法全加上
G
给定一个\(n\)面的筛子,一开始\(S\)面朝上
操作一:令\(S+1\)面朝上,代价为\(A\)
操作二:重新筛子一次,每一面朝上的概率相同,代价为\(B\)
求\(T\)面朝上的最小代价。
解:
可以证明\(+1\)是不会出现在重开操作之前的,只存在三种情况:
(1)当\(S\leq T\)时,无脑\(+1\),代价是\(A(T-S)\)
(2)无脑\(roll\),\(roall\)出\(T\)的概率是\(\frac{1}{N}\),期望代价\(BN\)
(3)先\(roll\)点,考虑当\(roll\)到一个范围\([L,T]\)时,\(+1\)会比无脑继续\(roll\)期望代价更小
答案是三者的最小值,讨论一下最复杂的第三种情况:
对于一个点数,\(roll\)到\([L,T]\)范围内的概率是\(\frac{X}{N}(X=T-L+1)\),期望代价\(\frac{BN}{X}\)
无脑\(+1\)的期望概率\(=\sum_{i=L}^{T}\frac{A(T-i)}{X}=\frac{A(X-1)}{2}\)
\(f(X)=\frac{BN}{X}+\frac{A(X-1)}{2}\)
根据基本不等式,\(X≈\sqrt{\frac{2BN}{A}}\)时,\(f(X)\)取最小值
在\(\sqrt{\frac{2BN}{A}}\)周围取\(10\)个数对答案取最小值
H
有一个二分图,左侧有\(L\)个节点,在每个节点上装摄像头需要花费\(a_i\),右侧有\(R\)个节点,在每个节点上装摄像头需要花费\(b_i\)
求在左侧第\(i\)个和右侧第\(j\)上至少装了\(C_{i,j}\)个摄像头的最小代价。
根据题目,有:
提出
取对偶问题
这样就好办了,原点向左侧\(L\)个点的连流量为\(A_i\),费用为\(0\)的边,右侧\(R\)个点向汇点连流量为\(B_i\),费用为\(0\)的边
\(L_i\)向\(R_j\)连流量为\(inf\),费用为\(C_{i,j}\)的边
最大费用最大流
更无脑的方法:
把价值换成限制,把限制换成价值,把不等于号开口取反,上网络流