共 13 页: 上一页 1 2 3 4 5 6 7 8 9 下一页 末页
摘要:题目链接 题意:炮在同一行或是同一列超过三个就可以出现一个吃掉另一个的情况,求在n*m的棋盘上放置炮且两两不可吃的情况总数。 用dp的方法来完成计数,可以考虑这样一个状态,枚举到第x行,共有 a个“含2个炮的列”, b个“含1个炮的列”, c个“含0个炮的列”,注意到a+b+c等于定值,显然这是可以 阅读全文
posted @ 2017-08-08 17:49 wy_2016 阅读 (127) 评论 (0) 编辑
摘要:题目链接 棋盘规模 2*n (n很大) 直接找出递推公式用矩阵快速幂求解 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N=2; const LL mod=19999997; LL b[N]= 阅读全文
posted @ 2017-08-08 17:17 wy_2016 阅读 (51) 评论 (0) 编辑
摘要:题目链接 阅读全文
posted @ 2017-08-08 16:55 wy_2016 阅读 (53) 评论 (0) 编辑
摘要:题目链接 题意: 给出一个n*m大小的01矩阵,在其中画线连成封闭图形,其中对每一个值为1的方格,线要恰好穿入穿出共两次,对每一个值为0的方格,所画线不能经过。 参考资料: 《基于连通性状态压缩的动态规划问题》 ——陈丹琦 2008年国家集训队论文 递推过程中,按照 遍历行->遍历行上每一格->遍历 阅读全文
posted @ 2017-08-08 16:47 wy_2016 阅读 (38) 评论 (0) 编辑
摘要:题目链接 可以暴力找一下规律 比如,假设N=7,两人有5题相同,2题不同,枚举X=0->15时,Y的"Not lying"的取值范围从而找出规律 阅读全文
posted @ 2017-07-28 15:07 wy_2016 阅读 (114) 评论 (0) 编辑
摘要:题目链接 可以贪心写,先把b数组按从小到大的顺序排个序,根据b[i]的值来产生a[n+i] 借助一个c数组,c[i]记录,j从i到n,a[j]-j的最大值,再加上一个实时更新的变量ma,记录从n+1到当前之前的a[n+i]-(n+i)的最大值,每次把max(c[b[i]],ma)的值赋给a[n+i] 阅读全文
posted @ 2017-07-28 14:28 wy_2016 阅读 (30) 评论 (0) 编辑
摘要:题目链接 暴力打个表找下规律就好了,比赛时看出规律来了倒是,然而看这道题看得太晚了,而且高中的那些数列相关的技巧生疏了好多,然后推公式就比较慢。。其实还是自身菜啊。。 公式是 阅读全文
posted @ 2017-07-28 00:26 wy_2016 阅读 (521) 评论 (5) 编辑
摘要:题目链接 定义f[n]表示n是最大公约数情况下的计数,F[n]为n是公约数情况下的计数 (可以和 http://www.cnblogs.com/Just--Do--It/p/7197788.html hdu1695 进行类比) 显然F[n]和f[n]是满足下面这个关系的 所以,可以用下面这个公式求解 阅读全文
posted @ 2017-07-27 21:09 wy_2016 阅读 (770) 评论 (3) 编辑
摘要:题目链接 有个结论: 平面坐标系上,坐标为整数的情况下,n个点组成正n边形时,只可能组成正方形。 然后根据这个结论来做。 我是先把所有点按照 x为第一关键字,y为第二关键字 排序,然后枚举向量 (p[i]->p[j]) (j>i),只判断这个向量左侧可否存在两个点与它一起构成一个正方形。这样算的结果 阅读全文
posted @ 2017-07-27 18:21 wy_2016 阅读 (202) 评论 (0) 编辑
摘要:题目链接 参考博客: http://blog.csdn.net/jinglinxiao/article/details/76165353 http://blog.csdn.net/qq_31759205/article/details/76146845 阅读全文
posted @ 2017-07-26 21:29 wy_2016 阅读 (155) 评论 (0) 编辑
共 13 页: 上一页 1 2 3 4 5 6 7 8 9 下一页 末页