自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iwi

  • 博客(30)
  • 问答 (1)
  • 收藏
  • 关注

原创 洛谷 1379 八数码难题

题目:八数码难题思路:bfs+hash判重。注意:1、hash的链表不能写错。2、由于用的是一位数组,所以移动时要判断左右边界。比如当前的空位在5处,就不能向右移+1。0 1 23 4 56 7 8代码:#include<iostream>#include<cstdio>#include <cstdio>#include <iostream>...

2017-12-31 13:52:48 306

原创 LA 4670 Dominating Patterns

题目:Dominating Patterns 思路:ac自动机。注意有重复。 代码: #include<iostream>#include<cstdio>#include <cstdio>#include <iostream>#include <algorithm>#include <stack&...

2017-12-28 16:37:09 238

原创 ac自动机模板 1

题目:ac自动机模板 代码:#include<iostream>#include<cstdio>#include <cstdio>#include <iostream>#include <algorithm>#include <stack>#include <queue>#include

2017-12-28 13:51:15 195

原创 洛谷2292 HNOI2004 L语言

题目:思路:trie+dp。先将所有单词 倒着 存进字典树,val为单词的长度。对于每一篇文章,bool f[i] 表示前i个字符能否被破解。其中如果前i个字母构成的字符串的后缀中有在字典树中存在的单词,则只需要看这篇文章去掉单词后缀后剩下的前面一段能否被破解。也就是说 只要存在任意 j,使得 f[ i - val[ j ] ] = true,那么 f[i]=true。最后只需找到最大的i使得 f...

2017-12-27 10:39:20 230

原创 LA 3026 Period

题目:Period思路:假如一段字符串有周期,那么 i - next[i]一定是最小周期长。因为next[i]表示最长的相同前缀、后缀的长度,假设这个有周期的字符串一共有x个周期,此时,最长的相同的前缀、后缀是 第1到第x-1个周期 和 第2到第x个周期,则一个周期长就是 i-next[i]。比如一个字符串为 abcabcabc,next=6,i=9,则周期长为3。如果一个字符串的 i%( i -...

2017-12-26 16:35:49 235

原创 【模板·字典树(trie)】 洛谷2580 于是他错误的点名开始了

题目:于是他错误的点名开始了 思路:trie树模板。 代码: #include <cstdio>#include <iostream>#include <algorithm>#include <stack>#include <queue>#include <deque>#include &...

2017-12-26 15:41:15 374

原创 洛谷2375 NOI2014 动物园

题目:动物园 思路:kmp。就是把nxt求出来后再顺着nxt往前匹配,直到满足条件为止。要设一个数组记录nxt为i时的公共前后缀数量。注意查询时,要重复利用j,不然会TLE成50'。 代码:50'代码:#include<bits/stdc++.h>using namespace std;#define md ((int)(1e9)+7)...

2017-12-26 13:07:34 392

原创 uva 11732 strcmp() Anyone?

题目:"strcmp()" Anyone? 思路:将所有单词记入trie中,再查找。 注意:1、用 long long 。2、在插入时,应在字符串后多插入一个\0,不然 "there" 和 "the" 这种会有问题。 代码: #include <cstdio>#include <iostream>#include <a...

2017-12-25 11:23:16 327

原创 LA 3942 Remember the Word

题目:Remember the Word思路:递推+trie。注意:1、不能用string,不然会超时。2、strlen不能算很多次,不然会超时。3、如果写了构造函数,并且在一个函数中调用,会挂。代码:#include <cstdio>#include <iostream>#include <algorithm>#include <stack>...

2017-12-23 20:31:34 314 1

原创 LA 3938 Ray, Pass me the dishes!

题目:"Ray, Pass me the dishes!"思路:线段树。代码:#include <cstdio>#include <iostream>#include <algorithm>#include <stack>#include <queue>#include <deque>#include &amp

2017-12-19 12:38:23 248

原创 uva 11987 Almost Union-Find

题目:Almost Union-Find思路:并查集。对于操作  2 x y ,此时既要把x移动到另一个集合,又要保证x下挂着的数能连接到根节点。所以可以把数x复制一份到另一个集合,原集合中的x的数值、数目都不存在,但是仍然指向根。代码:#include #include #include #include #include #include #incl

2017-12-15 11:18:03 294

原创 LA 4487 Exclusive-OR

题目:Exclusive-OR思路:并查集。先将  I p v  的格式转化成  I p n v ,其中n为一个虚拟的根节点,在此后,n一定也要做根节点。然后就可以借助并查集来记录两数之间的关系。其中 fa[i] 记录 i 的根, d[i]=i ^ fa[i] 。如果x、y共一个根节点,那么 x^y = x^fa^y^fa = d[x]^d[y] 。对于每一个询问,要知道它是否

2017-12-14 22:32:05 269

原创 洛谷1273 有线电视网

题目:有线电视网思路:DP。f[i][j]表示根节点为i的子树中选j个叶子节点可以得到的最大利润。代码:#include #include #include #include #include #include #include #include #include using namespace std;int n,m;int a[3005]={0}

2017-12-13 12:48:50 237

原创 洛谷2014选课

题目:选课思路:先把森林转成二叉树,再记忆化搜索。代码:#include #include #include #include #include #include #include #include #include using namespace std;struct Node{ int l,r,fa; Node(){r=-1,l=-1,fa

2017-12-13 09:48:53 400

原创 洛谷1040 加分二叉树

题目:加分二叉树思路:DP。f[i][j]为中序遍历为a[1][j]的二叉树的最大分值。枚举根节点k,转移方程:f[i][j]=f[i][k-1]*f[k+1][j]+a[k]代码:#include #include #include #include #include #include #include #include #include using n

2017-12-13 09:45:19 338

原创 uva 11136 Hoax or what

题目:Hoax or what思路:STL中的multiset。代码:#include #include #include #include #include #include #include #include #include using namespace std;multiset s;int main() { int n; whi

2017-12-12 12:25:47 210

原创 洛谷2704 炮兵阵地

题目:炮兵阵地思路:位运算+记忆化搜索注意:记忆化时要存2个状态代码:#include #include #include #include #include #include #include #include #include using namespace std;#define maxn 100#define maxm 10

2017-12-12 11:02:10 341

原创 洛谷1896[SCOI2005]互不侵犯King

题目:互不侵犯King思路:位运算+记忆化搜索代码:

2017-12-12 10:08:47 310

原创 洛谷1879 [USACO06NOV]玉米田Corn Fields

题目:Corn Fields思路:记忆化搜索+位运算 。代码:#include #include #include #include #include #include #include #include #include using namespace std;long long m,n;long long b[5000]= {0};long l

2017-12-12 09:09:39 363

原创 洛谷2915 usaco08nov 奶牛混合起来 Mixed Up Cows

题目:Mixed Up Cows思路:状态压缩DP。f[i][j]:i的二进制表示已经排过的牛,j表示最新的被加进来的牛。对于选择接下要加进来的牛u,只需要考虑他和j的关系(只和相邻的有关),及只要u和j的距离代码:#include #include #include #include #include #include #include #inc

2017-12-11 22:27:02 269

原创 uva 11235 Frequent values

题目:Frequent values思路:由于这一串数是不下降的,可以看出所有相等时的数都在一起。由此,可以把相同的几个数简化成一段数,设这一段数的值为这一段中数的个数。对于提问的一段,一般的可以分为3段:左边、右边两段不完整的,中间由几段完整的数拼起来的。也有分成2段不完整的,或只有一段不完整的情况,这些特殊处理即可。还是说3段的那种一般情况,两边的可以直接计算,中间一段中的

2017-12-11 13:34:30 214

原创 LA 4329 Ping pong

题目:Ping pong思路:树状数组。设a[i]是一个人i的数值。根据乘法原理可以看出,对于每一个人i而言,以他为裁判一共可以举行的比赛场数= 在他左边数值比他小的(c[i]) * 在他右边数值比他大的(n-i-d[i]) + 在他左边数值比他大的 (i-1-c[i]) *在他右边数值比他小的 (d[i]) 。此时,要求c[i]和d[i],就可以用树状数组。对于每一个裁判i,先设f[

2017-12-11 09:59:56 342

原创 LA 3027 Corporative Network

题目:Corporative Network思路:并查集。注意:只能将i挂在j上,不能写成了把i挂在j的根节点上。代码:#include #include #include #include #include #include #include #include #include using namespace std;int n;i

2017-12-10 21:59:07 195

原创 LA 3644 X-Plosives

题目:X-Plosives思路:并查集。只有当存在环时,才有可能爆炸。代码:#include #include #include #include #include #include #include #include #include using namespace std;int f[1000000];int find(int x){ if(

2017-12-10 21:56:03 232

原创 uva 11997 K Smallest Sums

题目:K Smallest Sums思路:如果假设在前i行中,已经求出了k个最小的和,那么,也可以求出加上第i+1行数后的k个最小值(及第i+1行中的结果只和前i行的结果有关)。所以,如果把前第i行得到的k个数看成一行,这题可以拆分成k-1个小问题,即:在两行数中找出k个最小的值。然后,对于其中的每一个小问题,可以运用归并排序的思想,只是要用到优先队列。每一次将和最小的弹出,把

2017-12-10 21:53:15 244

原创 LA 3135 Argus

题目:Argus思路:模拟,把每一次的情况存入优先队列。代码:#include #include #include #include #include #include #include using namespace std;struct A { int x,y; A() {} A(int xx,int yy) { x=xx,y=yy;

2017-12-09 22:51:45 204

原创 uva 11991 Easy Problem from Rujia Liu?

题目:I Can Guess the Data Structure!思路:略。代码:#include#include#include#include#include#include#includeusing namespace std;map > mp;int n,m;int main() { while(~scanf("%d%d",&n,&m)

2017-12-09 22:47:20 203

原创 uva 11995 I Can Guess the Data Structure!

题目:I Can Guess the Data Structure!思路:模拟。代码:#include#include#include#include#includeusing namespace std;int n;int main() { while(~scanf("%d",&n)) { bool fstack=1,fque=1,fpri=1;

2017-12-09 22:44:26 172

原创 uva 11729 Commando War

题目:Commando War思路:优先队列代码:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;struct A{ int x,y; A(){} A(int xx,int y

2017-12-09 22:41:53 244

原创 uva 11292 Dragon of Loowater

题目:Dragon of Loowater思路:贪心,每个头都让刚好能砍掉这个头的能力最差的人砍。代码:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;int a[20005]=

2017-12-09 22:38:26 249

空空如也

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

TA关注的人

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