自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zyz_3_14159的博客

From 2016-9-20 厚积薄发

  • 博客(12)
  • 收藏
  • 关注

原创 HDU-5724-组合博弈

题目大意:n行20列的棋盘,对于每行,如果当前棋子右边没棋子,那可以直接放到右边,如果有就跳过放到其后面的第一个空位子,A先操作,最后谁无法操作则输;题目解析:只有20列,我们通过状态压缩得出序列传入sg函数,写的时候会发现需要把从左往右的序列倒过来,详细看代码;AC代码:#include#include#include#include#includeusing name

2017-07-31 23:26:23 322

原创 HDU-1848-组合博弈

题目大意:有三堆石子,两个人轮流取一堆石子中只能为斐波那契数的石子,问最后谁赢;题目解析:预处理f函数和sg函数,直接把三堆石子的sg函数异或起来判断是否为0;AC代码:#include#include#include#include#includeusing namespace std;const int N=1010; int f[N];int sg[N];int

2017-07-31 22:40:03 230

原创 uva-10498-线性规划

题目大意:标准的线性规划,m个约束条件都是小于等于;题目解析:单纯形法模板;AC代码:#include #include #include using namespace std;const double dinf=1e10;const int MAX=55;int n,m,B[MAX],N[MAX];double A[MAX][MAX],b[MAX],c[MAX],

2017-07-29 14:31:23 355

原创 HDU-4609-FFT

题目大意:给定n条线段,任取三根,问能够组成三角形的概率;题目解析:首先三角形肯定是两边之后大于第三边,为此我们需要处理出任意两边的和以及方案数,朴素算法肯定是O(N^2)会超时,所以我们需要用到fft降到O(NlogN);然后预处理出前缀和,枚举每条边作为最大值的时候,需要剪去一个大,一个小的情况,两个都比它大的情况,和用到自身的情况;AC代码:#include#include#

2017-07-27 23:35:25 196

原创 hihocoder-1388-高精度fft

感谢师兄的blog终于让我初略得明白卷积,dft及fft可以用来干什么。。附上链接:http://blog.csdn.net/viphong/article/details/52665620其实就是求一个循环卷积,然后把他转化成求对应相关系数的最大值,因为卡精度,所以我们只能求得最大时的k值;AC代码:#include#include#include#include#inc

2017-07-27 21:22:25 419

原创 codeforces-827C-树状数组,同余定理

题目大意:给定一段DNA序列,和q个query,每次可以改变一个碱基,或者查询一个区间里面有多少个碱基与给定碱基序列(可以无限重复)相同;题目解析:首先因为匹配序列可以无限循环,所以可以根据位置%长度来确定一般性,因为如果一个碱基的位置mod (len)与匹配序列一个碱基的位置mod(len)一样,那么这个无限延长的碱基序列一定能匹配到第一个碱基,所以我们可以BIT来维护前缀和,根据碱基种类,

2017-07-27 21:15:38 489

原创 UvaLive-3700-lucas

题目大意:问第n+1层的杨辉三角所有数中有几个数是不能被p整除的;题目解析:根据lucas定理,要是(n,m)不能被p整除,则n和m转化成p进制后牵着每一位都必须大于等于后者;如果其中有一个不满足,那么就被p整除,所有我们只需要枚举n的每一位,设为a,ans*=ans+1;AC代码:#include #include #include #include #include

2017-07-25 23:01:04 280

原创 codeforces-832D-LCA,RMQ

题目大意:问一棵树上取三个点,可以任选一点为w,求u,v到w两条路径所重合的顶点数;题目解析:在线LCA;AC代码:#include #include #include #include using namespace std;const int N = 100010;const int M = 25;int dp[2*N][M]; //这个数组记得开到2*N,因为遍历

2017-07-25 15:32:21 431

原创 HDU-4547-离线LCA

题目大意:dos命令,每一步可以跳到任意子目录,但只能返回上一个根目录,问a,b之间最少需要几次dos操作;题目解析:采用离线lca,先建树,对于一个query中u和v,如果u=v,答案是0,如果v是u的祖先,答案是两者深度之差,如果u是v的祖先,答案是1,否则就是u到lca的距离再加一;AC代码:#include #include #include #include #inc

2017-07-25 15:24:35 355

原创 POJ-3207-TwoSAT

题目大意:一个圆上有m对点需要相连,连的方法可以在圆里外连,问是否可以使得两两连线不相交;题目解析:判断如果两个线段如果会有冲突,那么只能一个在里面一个在外面;AC代码:#include#include#include#include#include#include#includeusing namespace std;const int maxn=51010*2;c

2017-07-12 14:26:43 244

原创 HDU-1814-TwoSAT

题目大意:有(1,2),(3,4), ...(2n-1,2n),n对数,要在每对中选出一个共n个,并且满足m个约束条件,条件(a,b)表示ab不能同时被选,按字典序输出答案;题目解析:如果有a b有约束,那么建边A->B^1,B->A^1,字典序最后直接遍历输出;AC代码:#include#include#include#include#include#include#in

2017-07-12 12:47:51 219

原创 LA-3713-TwoSAT

题目大意:有ABC三个任务需要分配给n个宇航员,任务C没有限制,年龄大于等于平均年龄的可以分配A任务,否则是B任务,有m对宇航员互相讨厌,他们不能顾分配相同的方案,问是否可以找出一种方案。题目解析:如果相互讨厌的话,那么肯定不能够同时分配C,并且不能分配A和B,如果一个A一个B则不需要考虑;AC代码:#include#include#include#include#includ

2017-07-12 12:20:59 249

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除