题解
hh_cnyali
这个作者很懒,什么都没留下…
展开
-
POJ2019Cornfields 题解
只有250*250,枚举+记忆化即可过原创 2016-06-01 14:51:33 · 451 阅读 · 0 评论 -
POJ3630Phone List[字典树]
题目大意 给你一些字符串,看有没有有字符串是其它任意一个的前缀#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;struct node{ int p1,p2; int c[10];}a[50010];int t,o,i,d,j,fla原创 2016-06-16 14:09:36 · 194 阅读 · 0 评论 -
NOIP2011铺地毯题解
NOIP2011铺地毯博主第一眼,好坑,10000*10000,时间不说,空间就MLE了,于是我写下了以下代码#include<bits/stdc++.h>using namespace std;int n,i,ans,x1[10010],x2[10010],y3[10010],y2[10010],x,y;int main(){ scanf("%d",&n); for(i=1;原创 2016-07-14 14:47:58 · 2982 阅读 · 2 评论 -
NOIP2010关押罪犯
并查集水题++原创 2016-07-15 10:41:24 · 369 阅读 · 0 评论 -
POJ3283Card Hands
#include<iostream>#include<algorithm>#include<stdio.h>#include<cstring>#include<map>using namespace std;int ma[151];int ma2[151];int o,d,i,j,k[100001],n,m,a[100001][60];char s[5];int main(){原创 2016-06-20 17:40:54 · 395 阅读 · 0 评论 -
逆序对nlogn做法
原理#include<bits/stdc++.h>using namespace std;struct node{ int w,v;}a[50001];int cmp(node a,node b){ return a.w<b.w;}int n,i,x,s,ans,c[80001];int main(){ scanf("%d",&n); for(i=1;i原创 2016-07-07 11:23:38 · 372 阅读 · 0 评论 -
NOIP2012 Vigenère 密码
上图大家看着是不是有写晕? 上图的转换其实非常简单 万能公式:M=C-K+1 ,M<'A' M+=26C=M+K-1 ,C>'Z' C-=26接着就是代码了(无视char*+string,开始没有string,后来因为%错了,就改为string存K)#include<bits/stdc++.h>using namespace std;int i;char s1[2001];stri原创 2016-07-05 16:55:59 · 401 阅读 · 0 评论 -
acdream1020The Game about KILL结题报告[约瑟夫问题]
一开始只知道是约瑟夫问题,打野就是隔一个fly一个,求最后那个,可是我O(n) O(n)速度不是开玩笑,后来,我问到了一个O(logn) O(logn)的方法,不过只对隔1杀1有效#include<bits/stdc++.h>using namespace std;int n,k;int main(){ while(cin>>n){ k=1; while原创 2016-07-18 15:33:16 · 511 阅读 · 0 评论 -
POJ2044[Deep search]
State with int storage, but to use bit operation, so the code is simple and many. Code:#include<iostream>#include<stdio.h>#include<algorithm>#include<string.h>#define fr(i,a,b) for(int i=(a),i_en原创 2016-08-03 15:37:20 · 393 阅读 · 0 评论 -
POJ2395Out of Hay[Check set]
#include<iostream>#include<algorithm>#include<stdio.h>#include<string.h>using namespace std;#define fr(i,a,b) for(int i=(a),i_end=(b);i<=i_end;i++)#define frd(i,a,b) for(int i=(a),i_end=(b);i>=i_原创 2016-08-04 09:51:53 · 290 阅读 · 0 评论 -
校门外的树(前缀数组)
2333原创 2016-07-12 16:33:53 · 488 阅读 · 0 评论 -
POJ3612Telephone Wire[DP]
Telephone WireTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 3187 Accepted: 1113DescriptionFarmer John's cows are getting restless about their poor telephone service; they want F原创 2016-09-16 15:15:40 · 354 阅读 · 0 评论 -
Luogu CON1041 NOIP模拟赛一试题解
题解原创 2016-10-15 16:54:14 · 536 阅读 · 1 评论 -
TG2016D1T1&D2T1讲解
D1T1玩具谜题 D2T2组合数问题原创 2016-12-03 08:53:24 · 529 阅读 · 0 评论 -
POJ3461Oulipo[KMP]
题目大意 给你两个字符串,给出第一个在第二个字符串中的出现次数,注意,有多组数据。 Time Limit: 1000MS Memory Limit: 65536K 经典KMP(貌似不是的)题目,十分容易。#include <cstdio>#include <cstring>using namespace std;int t,i,j,next[1000010],an原创 2016-06-15 16:14:23 · 206 阅读 · 0 评论 -
POJ2406Power Strings[KMP]
给出一个串,问你这个最多是多少个相同的字串重复连接而成的。#include <cstdio>#include <cstring>using namespace std;char s[1000005];int next[1000005],i,j,l;int main(){ while(scanf("%s",&s)){ if(strcmp(s,".")==0)retu原创 2016-06-15 16:39:15 · 201 阅读 · 0 评论 -
NOIP2015提高组第二题信息传递[图论]
这道题我一开始做感觉没有任何思路,但一开始就觉得是图论,就在思考用邻接矩阵还是链式前向星,可是邻接矩阵每判断一次就是$O(n^2)$,在次数最多是链式前向星空间复杂度达$O(n^2)$,直接爆空间,后来仔细一想,传回来就是一个环,所以可以先把不可能的人踢了,然后就直接找所有环中最小的那个。原创 2016-06-12 13:52:08 · 2170 阅读 · 0 评论 -
POJ2352 Stars 树状数组
这题因为y递增,所以后输入的只要不比先输入的x小就等级加一,顺便用树状数组优化,不然依然超时原创 2016-06-01 16:20:31 · 222 阅读 · 0 评论 -
合并果子快排+上浮做法
#include<algorithm>#include<iostream>using namespace std;int pd(int a,int b){ return a>b;}int i,n,s,k,p,a[10001];int main(){ cin>>n; for(i=1;i<=n;i++) cin>>a[i]; sort(a+1,原创 2016-06-03 17:05:26 · 384 阅读 · 0 评论 -
校门外的树线段树做法
ps:这题就完美转化为校门外的线段树了,呵呵呵 再ps:不要担心爆系统栈,栈只会用log2(n)原创 2016-06-03 17:13:11 · 499 阅读 · 0 评论 -
POJ1804Brainman
题目大意就是求逆序对的对数#include<stdio.h>using namespace std;int n,i,j,s,a[100001],t,l;int main(){ while(1){ s=0; scanf("%d",&n); if(!n)return 0; for(i=1;i<=n;i++)原创 2016-06-04 11:55:54 · 257 阅读 · 0 评论 -
POJ3264Balanced Lineup题解-线段树
#include<stdio.h>#include<iostream>using namespace std;struct node { int left; int right; int max; int min;}a[5000000];int p[5000000];void build(int l, int r, int k){ a[k].l原创 2016-06-04 16:19:35 · 280 阅读 · 0 评论 -
POJ8466火柴棒等式
#include<bits/stdc++.h>using namespace std;int n,i,j,ans,f[100001];int main(){ cin>>n; n-=4; f[0]=6;f[1]=2;f[2]=5;f[3]=5;f[4]=4;f[5]=5;f[6]=6;f[7]=3;f[8]=7;f[9]=6; for(i=10;i<=10000;原创 2016-06-04 17:14:30 · 461 阅读 · 0 评论 -
NOI10超级玛丽游戏
#include<stdio.h>int main(){puts(" ********");puts(" ************");puts(" ####....#.");puts(" #..###.....##....");puts(" ###..原创 2016-06-10 11:39:47 · 5116 阅读 · 0 评论 -
01背包问题
一维背包问题:采药 这是一个典型的背包问题,动态规划分分钟解决#include<bits/stdc++.h>using namespace std;int n,m,i,j,t[10001],f[10001],w[10001],ans;int main(){ cin>>n>>m; for(i=1;i<=m;i++) cin>>t[i]>>w[i]; fo原创 2016-06-10 14:12:55 · 184 阅读 · 0 评论 -
高精度算法
加法#include<stdio.h>#include<string.h>int la,lb,i,j=0,lm,n;char a[501],b[501],c[502];int main(){ gets(a); gets(b); la=strlen(a); lb=strlen(b); lm=la>lb?la:lb; for(i=1;i<=lm;原创 2016-06-10 14:16:00 · 321 阅读 · 0 评论 -
POJ1463Strategic game[树形DP]
题目大意是: 有一颗树,n个节点,问,最少用几个点,让所有的点与它们中任意一个相邻#include <cctype>#include <cerrno>#include <cfloat>#include <ciso646>#include <climits>#include <clocale>#include <cmath>#include <csetjmp>#include <cs原创 2016-06-11 16:04:38 · 215 阅读 · 0 评论 -
POJ2486Apple tree题解
题目地址:Apple tree 题目大意: 有一个树,n个节点,第一个节点为根节点,每个点都有一个权值,每个点都可以移动到相邻的点,给你树的链接情况,求出,走k步最多获得多少权值? 输入(多数据,EOF结束): n,k w1 w2 w3……wn 以下n-1行,表示哪两个点相连。 输出: 最大值 思路:简单的树形DP#include <cctype>#include <cerrno原创 2016-06-11 11:33:14 · 444 阅读 · 0 评论 -
火星人STL题解
STL是个神奇的东西。#include<bits/stdc++.h>using namespace std;int n,m,i,a[10001];int main(){ cin>>n>>m; for(i=1;i<=n;i++) cin>>a[i]; for(i=1;i<=m;i++) next_permutation(a+1,a+n+1)原创 2016-06-06 12:51:18 · 504 阅读 · 0 评论