被点名批评#2

A https://cn.vjudge.net/problem/UVA-12633

每个棋子可以走上下左右、左上、右下六个方向
给一个矩阵和棋子的位置问有多少位置可以不被棋子走到

还不会劲爆fft 过段时间补

B http://acm.fzu.edu.cn/problem.php?pid=2133

在列数固定为M的矩阵放数字
要求上面的小于下面的 左边的小于右边的

把状态压缩 用一个m+1进制的数来表示方格的状态
考虑已经放了i个人(前i小)
对第i+1个人可以放的地方一定是每行已放的最右端
但是放这个位置有一个条件就是这个位置上面要有已经有人了才可以

最后在统计一下末尾状态的答案
http://paste.ubuntu.com/25190425/

C https://cn.vjudge.net/problem/UVALive-6604

给两种方法算最小的把序列变合法的时间
计算差值
第一种方法是交换相邻的
第二种方法是直接走到位置 每个人可以同时走所以取最大值即可

方法1利用归并排序计算逆序数
方法2计算位置是否合法 贪心取最大值
若要往后走则走到目标区域的最前面
若要往前走则走到目标区域的最后面
http://paste.ubuntu.com/25112001/
(不要忘记初始化)

D http://acm.uestc.edu.cn/#/problem/show/1171

求一个给定集合的非空子集的gcd的k次方的期望

对每个gcd的集合数乘gcd的k次方求和
假设i为gcd 后面为i倍数的gcd都能求出i
统计为i的倍数的个数 子集情况为2的个数次方-1
但是其中会出现gcd为i的倍数的情况
逆序遍历减掉这些情况
(需要注意减与模的操作中间需要再加上一个mod)
http://paste.ubuntu.com/25113131/

E http://poj.org/problem?id=1112

给每个人被谁认识的关系
问能否把所有人分成2个部分
每个部分都人全都互相认识

构造人与人不互相认识的关系
二分图染色
答案只需要满足每个联通块不同颜色的人不在同一队即可
dpij记录到第i个联通块能有j个人
倒推回去找联通块每种颜色的点

http://paste.ubuntu.com/25112593/

F http://acm.uestc.edu.cn/#/problem/show/900
一眼看过去是找割点
发现模版有抄了改下答案的寻找就过了
有空得再复习下学会手写

G http://acdream.info/problem?pid=1234

求两个互相垂直的圆柱体的重叠体积
横截面为矩形
使用辛普森积分法对1/8的部分积分(借用下大佬博客的图片)
这里写图片描述
据说这个方法在数字大的时候会有较大误差
所以使用二分保证精确

http://paste.ubuntu.com/25111486/

H http://codeforces.com/gym/100221/attachments
给一个拼图问拼图可以拆成几种形式

手画拼图if特判答案= =
写出可能的数字组合情况会比较好计算

你可能感兴趣的:(补题)