自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 AC自动机

文档:AC自动机.note链接:http://note.youdao.com/noteshare?id=af0b6c526b6c7c311c271770d215a34c

2019-07-28 09:39:15 122

原创 数学常用模板

数学Euler筛(线性筛)#include<bits/stdc++.h>using namespace std;int p_table[10010];bool isPrime[10010];int n;void Euler(int n){ memset(isPrime,true,sizeof(isPrime)); memset(p_table,0,sizeof(p_t...

2019-06-24 20:52:44 141

原创 刷题计划汇总

刷题计划汇总一、基础算法(贪心模拟二分等)POJ 3617 Best Cow LinePOJ 3069 Saruman’s ArmyPOJ 3253 Fence RepairUVA 1172 The Bridges of KolsbergPOJ 1700 Crossing RiverPOJ 1328 Radar InstallationPOJ 1017 PacketsPOJ 10...

2019-06-22 13:56:15 351

原创 洛谷P2657 [SCOI2009]windy数

洛谷P2657 [SCOI2009]windy数本题是一道数位DP看程序应该能看懂中心思想:把一个数拆成每一位来处理代码:#include<bits/stdc++.h>using namespace std;int A,B;int f[20][20];void dp(){ memset(f,0,sizeof(f)); for (int i=0;i<10;i+...

2019-05-21 17:17:42 193

原创 POJ 2342 Anniversary party

POJ 2342 Anniversary party树形DPg[i]表示不取i节点最大快乐值,则子节点想取就取f[i]表示取i节点最大快乐值,则子节点必不能取代码: #include <iostream> #include <stdio.h> #include<memory> #include<stack> ...

2019-05-18 22:02:19 232

原创 POJ 2576 Tug of War

POJ 2576 Tug of War持续自闭。。。。动归一道不会写,全得看题解。。。。。f[i][j]表示用i个人能否达到j的重量循环第一层i表示选i这个人循环第二层j表示第j个人循环第三层k表示体积为k那么动归方程就是一个递推:如可以达到用i个人j重量,那么枚举每一个人,用i+1个人时j+a[当前这个人]的重量也能被达到第二层j从0开始是因为f[1][k]不一定是可到达的,但f[...

2019-05-17 21:01:42 372 1

原创 POJ2184 Cow Exhibition

POJ2184 Cow Exhibition本题是01背包扩展(负数)为什么呢,既然奶牛有两个参数,我们不妨随便假设一个为体积,一个为价值,最后再扫一遍保证是都是正数的情况下取max01背包基础我们考虑01背包的基本动态转移方程:对于体积为c,价值为v的物品 f[c]=max(f[i-c]+v , f[c])这时候体积这一维(即第二维)是倒着循环的,为什么呢?因为i-c<i 体积...

2019-05-13 21:06:01 136

原创 洛谷P2375 动物园

洛谷P2375 动物园这一题我认为巨难有一个很简单的暴力做法50分:#include<bits/stdc++.h>using namespace std;int n;char s[1000010];int next[1000010];int cnt[1000010];long long ans;int main(){ scanf("%d",&n);...

2019-05-11 23:22:13 218

原创 洛谷P4503 [CTSC2014]企鹅QQ

洛谷P4503 [CTSC2014]企鹅QQ本题在CTSC中算简单的了 但是它仍然是CTSC啊这题是我的第二道字符串hash,有一定难度这题的主要难点:1. 如何判断两个用户名是同一个人题目中说:若两个账户名称是相似的,当且仅当这两个字符串等长且恰好只有一位不同而题目中又说:为了简化你的工作,小Q给你的N 个字符串长度均等于L这一波简直爽歪歪,我们只需要枚举每一个位置,把该字符串减去...

2019-05-10 22:23:02 196

原创 POJ2752 Seek the Name, Seek the Fame

POJ2752 Seek the Name, Seek the Fame本题是求一个fail数组就可以了但是这一题有一个地方和fail数组定义不同:它自身也算一个最长公共前后缀这一点想了很久。。。。但是最终发现不用改变fail数组,只需要多输出一个字符串它自己的长度就可以了(因为根据题目定义字符串本身必定是它自己的最长公共前后缀)由于他要升序,把他丢到一个优先队列就行了代码:#incl...

2019-05-09 17:44:19 85

原创 POJ3461 Oulipo

POJ3461 Oulipo这一题是裸的kmp总结几点:字符串scanf读入不加&fail求的是文本串代码:#include<iostream>#include<cstring>#include<cstdio>using namespace std;int n,ans; char w[10010],t[1000010];int...

2019-05-07 22:19:21 91

原创 POJ1200 Crazy Search

POJ1200 Crazy Search本题题目没给数据范围!!!但是它给了输出结果不大于1.6* 107所以本题就可以用字符串hash,只需要mod1.6*107就可以了由于最多只有nc种字符,我们直接用nc进制字符串hash就行了对于字符串hash,我们从直观上讲是每次都要hash=hash+pow(x,p)的但是在实现的过程中我们可以hash=hash*p+x;这样少掉一个pow...

2019-05-07 17:19:01 124

原创 POJ1222 EXTENDED LIGHTS OUT

POJ1222 EXTENDED LIGHTS OUT本题是一道二进制模拟题我们只需要枚举第一行就可以推出下面的状态因为如果一行已经确定了,这一行中的一个节点只能由它下面的节点来改变所以如果这个节点是1,下面一行的这个位置必定要按下去但是调了很久,主要由于两个原因一定要搞清楚i和j分别是6还是5,即他们分别是横行和纵列,千万不要搞反!!!(调了40分钟)**&是位运算符, 同...

2019-05-03 21:37:18 173

原创 POJ1995 Raising Modulo Numbers

POJ1995 Raising Modulo Numbers本题是裸的快速幂但是由于快速幂我一直忘,在此我加强一下记忆问题:求ab mod m数学证明有点麻烦,我们可以举个例子:求211我们可以把它写成二进制(1011)2要求211 ,即求21+2+8 =20 * 21 * 23详细过程如下:这样可能好理解一点为了方便代码,我们可以把11,也就是b每次>>1,然后我...

2019-05-02 21:51:24 231

原创 POJ3219 Binomial Coefficients

POJ3219 Binomial Coefficients观察题目,典型的Lucas定理,但是我认为本题最妙的解法不是Lucas首先一个结论:对于C(n,r),如果n&r=r则C(n,r)为奇数,反之为偶数证明:代码于是就变得非常简单:#include<iostream>using namespace std;int main(){ long long ...

2019-05-02 19:46:42 148

原创 POJ1740 A New Stone Game

POJ1740 A New Stone Game本题是博弈论的基础题。对于这种题目,我们一般先手玩一波。手玩发现:同时先手当且仅当石子有偶数堆并且对称时必败(这一个结论看似简单,实际要想到可能会话几十分钟),因为后手只要照着先手操作,先手必败(至于唯一性只能靠感悟了)于是题目就转化成判断是否是对称的做此类博弈类手玩题的技巧:一定要自己多手玩,几十次也不为过。要各种极端情况全部考虑对...

2019-04-25 22:02:37 131

原创 POJ2507 Crossed ladders

POJ2507 Crossed ladders本题复习实数域上的二分。实数域上的二分与普通的二分不同,它需要设置一个精度,据题目而定(一般不会小于1e-9)。本题首先推公式,由相似三角形其实可以解得距离的关于x,y,c的表达式,但是我们发现太烦了,而且解出来也是带高次项的,题意肯定不是想让你解。于是我们可以发现本题可以用二分求函数零点。但是用二分求函数零点有条件:函数必须是单调且连续的(...

2019-04-24 21:51:25 432

原创 POJ3264 Balanced Lineup

POJ3264 Balanced Lineup这一题是ST表的模板题,但是我还是调了很久,主要是由于一个很经典的错误很容易想到如下的方法:int fmaxx[50010][30],fminn[50010][30];for (int j=1;j<=logg[n];j++){ for (int i=1;i<=n;i++){ fmaxx[i][j]=max(fmaxx[i]...

2019-04-20 23:01:13 102

原创 洛谷 P1998 最大数 JSOI2008

洛谷 P1998 最大数本题用来练ST表确实,用线段树比较直观,而且效率还过得去,但是有亏本题有一种非常神奇的解法:反向ST表如果是在考场上,码量就会大大减少,时间也就变得充裕(其实也不难想到)本题其实不带真正意义上的“修改”,因为每次修改操作都是在末尾添加一个数,我们可以边读边建立ST表,在线操作但是正常的ST表是向左建的,而这一题是要求最后的L个数的长度,所以我们反向建ST表:朝右...

2019-04-20 21:22:22 182

原创 洛谷 P1056 排座椅

洛谷 P1056 排座椅本题是一道模拟题。很容易想到要一条走廊要尽量分开越多想讲话的人越划算于是我们先处理处每条走廊有几个人要和下一条走廊的人讲话然后丢进优先队列里按照讲话的人数排序最后按照序号先后顺序桶排一波然后搜一遍输出附图:(没用的点可以不看,只看绿的和红的)(懒得改图了)代码:#include<bits/stdc++.h>using namespace s...

2019-04-19 22:15:14 112

原创 POJ 2750 Potted Flower

POJ2750#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int N=100010;int n,m;struct node{ int l,r,lmax,rmax,datmax,sum,lmin,rmin,datmin;}t[...

2019-04-07 15:46:34 147

空空如也

空空如也

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

TA关注的人

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