B.Buildings (polya定理)
题意
B:给你m面墙,每面墙是n*n的格子,你有c种颜色,问你有多少种涂色方案。用polya定理
1 |
|
C.Joyride (分层图最短路)
题意
C:游乐场有n个设施,有m条人行道,游乐设施会花费ti的时间和pi的钱,人行道需要花费t的时间,你需要用最少的钱恰好游玩x的时间,起点是1,终点是1,求最少的钱是多少4
1 |
|
D.Pants On Fire (map+dfs,or 传递闭包)
题意
D 有n个已知串,给m个串,让你去判断他们是对的还是错的还是未知的
1 |
|
1 |
|
F.Plug It In (匈牙利算法/二分图匹配/网络流)
题意
m个插口,n个电器 k个可以匹配的连接 ,问你最大匹配数,但是你有一次机会把一个接口变成三个一样的
思路
考虑暴力每次暴力把一个其中一个接口数+2跑匈牙利算法,复杂度N^3,然后发现其实第一次跑的最初的图是可以一直重复利用的,然后就直接把后面的多出来的接口拿去跑增广路就行。
1 |
|
G.Water Testing (皮克定理)
题意
给你一个多边形问你多边形中的整点个数有多少
思路
皮克定理
皮克定理是指一个计算点阵中顶点在格点上的多边形面积公式,该公式可以表示为2S=2a+b-2,其中a表示多边形内部的点数,b表示多边形边界上的点数,S表示多边形的面积。
其中,面积用每两条线的叉积计算
当O点为原点时,根据向量的叉积计算公式,各个三角形的面积计算如下:
S_OAB = 0.5(A_xB_y - A_y*B_x) 【(A_x,A_y)为A点的坐标】
S_OBC = 0.5(B_xC_y - B_y*C_x)
S_OCD = 0.5(C_xD_y - C_y*D_x)
S_ODE = 0.5(D_xE_y - D_y*E_x)
S_OEA = 0.5(E_xA_y - E_y*A_x)
边界的点数用gcd(a.x-b.x,a.y-b.y)计算
1 |
|
I.Uberwatch (基础DP)
思路
对于每个点考虑两种情况,如果他不放必杀技那
如果他放必杀技,那么他就只能在i-m时间之前放的最大值加起来
1 |
|
K.You Are Fired (签到)
1 |
|