摘要: 直接dfs,每旋转一次就要判断是否可行,这样感觉几乎纯暴力的办法竟然能过 另这个矩阵旋转代码写的挺精简的,值得借鉴一下#include#define ll long longusing namespace std;const int N=20;char ar... 阅读全文
posted @ 2018-08-03 20:48 ffgcc 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 思路:S[i][j]=S[i-1][j]+S[i-1][j-1](递推到每一项和求和都满足这个公式) S[i-1][j-1]=S[i-1][j]-C[i-1][j] 所以S[i][j]=2*S[i-1][j]-C[i-1][j] 同理可推出余下的公式S(l,... 阅读全文
posted @ 2018-08-03 17:32 ffgcc 阅读(64) 评论(0) 推荐(0) 编辑
摘要: inv代表的逆元,逆元可以倒推出其他数的逆元 Comp(a,b) 就是C(a,b) X 关于 mod 的逆元为 x^(mod - 2);const int maxn=1e5+5;const int mod=1e9+7;ll inv[maxn],fac[max... 阅读全文
posted @ 2018-08-03 17:24 ffgcc 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 找个规律会发现 M[i][j] = M[i-2*L][j] = M[i][j-2*L] 也就是这是一个2L*2L的矩阵循环所得到的 让求x0,y0到x1,y1的和 我们就可以处理出来以x0,y0为左上角的2L*2L的矩阵 然后同时进行求和 代码中是一些简单的... 阅读全文
posted @ 2018-08-03 16:33 ffgcc 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题意 有一堵墙,往上面贴海报,每张海报有各自的范围,可以相互覆盖,求最后还能看见多少张海报? 解析 线段树,离散化 每张海报的粘贴就是一个区间操作,所以可以考虑用线段树来解决。但是题目中所给的墙的长度数据量太大,都存下来 肯定... 阅读全文
posted @ 2018-08-03 16:26 ffgcc 阅读(91) 评论(0) 推荐(0) 编辑