
ACM
文章平均质量分 81
丶聂小白
这个作者很懒,什么都没留下…
展开
-
暑假小结
暑假基本没在COJ做题,保持了以前的240+,最多在POJ上看到熟悉的题目做掉以后去COJ也交一下,POJ刷到100多道。 各种原因当然还有自己懒导致每天只有下午有条件做题,有时候出远门还做不了,POJ也只有不多的部分是算法题,大部分是队里给的POJ水题目录里面的,只是对英文题更熟悉和有套路了一点。算法方面实在长进不大,只是一些简单算法如01背包,筛法求素数更熟练了一点,在家确实很没有学原创 2013-08-19 17:19:21 · 651 阅读 · 0 评论 -
poj--3438--LOOK and SAY
水题,之前在浙大一次比赛中做过#include #include using namespace std;int main(){ char a[10000]; int t,s=1; cin>>t; while(t--) { cin>>a; for(int i=0;a[i]!='\0';i++) { if(a[i+1]==a[i]) { s++;原创 2013-08-17 16:47:33 · 796 阅读 · 0 评论 -
poj1401--Factorial
求的是N!中末尾0的个数,即包含因子10的个数。10=5*2,因子10的个数也就是因子2的个数与因子5的个数中较小的那个,N!=1*2*3...*N,其中2的个数一定不少于5的个数,所以要求的其实就是N!中5的个数。#include #include #include using namespace std;int f(int n){ int s=0,i; for原创 2013-08-17 16:40:36 · 612 阅读 · 0 评论 -
HDU 1231 (最长连续子序列)
#include #include #include #include #include #include #include #include using namespace std; #define max(a,b) a>b?a:b#define min(a,b) a<b?a:bint n;int a[10010];int main原创 2013-11-17 20:18:15 · 445 阅读 · 0 评论 -
CF———— Valera and Contest
Valera loves to participate in competitions. Especially in programming contests. Today he has participated in the contest with his team, consisting of n students (including Valera). This contest was原创 2013-11-30 01:38:38 · 904 阅读 · 0 评论 -
算法经典-勇者斗恶龙
第一遍读完以后感觉需要排序然后嵌套循环而且第一重龙头要倒着循环,第一次写出来程序报错,想了想其实没那么难,排序后第n位的龙头最理想也是由第n位的勇士砍掉,所以其实很简单,思维还是太僵化了。#include #include #include #include #include #include using namespace std;int main(){ int n,m; i原创 2013-12-09 17:33:19 · 1422 阅读 · 0 评论 -
CF 371B - Fox Dividing Cheese
B. Fox Dividing Cheesetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputTwo little greedy bears have found tw原创 2013-12-09 20:39:02 · 897 阅读 · 0 评论 -
UVA 11729 Commando War
最近开始有目的性做题,先从UVA开始吧题目很简单,不过算法经典给的做法感觉并不适合我,自己用结构体写了一发A了。思路就是先交代执行任务较长的任务,然后统计每个任务完成时间,循环一遍找最大值即可。#include #include #include #include #include #include using namespace std;struct node{ i原创 2013-12-09 19:37:03 · 548 阅读 · 0 评论 -
uva11077 Find the Permutations
Sorting is one of the most used operations in real life, where Computer Science comes into act. It is well-known that the lower bound of swap based sorting is nlog(n). It means that the best possible原创 2013-12-10 16:38:00 · 510 阅读 · 0 评论 -
CF 371A - K-Periodic Array
This task will exclusively concentrate only on the arrays where all elements equal 1 and/or 2.Array a is k-period if its length is divisible by k and there is such array b of length k, that a is原创 2013-12-09 20:40:27 · 843 阅读 · 0 评论 -
二分法入门Poj 3122-Pie
好多二分题一看题目头就晕。。。挑个容易理解的下手#include #include #include #include #include const double pi=3.14159265359;const double esp=1e-6;using namespace std;int main(){ int t; int n,m; int i,j; int cou原创 2014-01-21 17:48:30 · 635 阅读 · 0 评论 -
二分法 POJ-3104 Drying
#include #include #include #include #include #include using namespace std;long long n;long long a[100010];int main(){ long long maxv=0; long long high,low=1; long long i,j,k; while(cin>>原创 2014-01-25 15:45:29 · 533 阅读 · 0 评论 -
动态规划-hdu2571
#include #include #include #include #include using namespace std;int a[21][1005];int max(int n,int m){ return n>m? n:m;}int main(){ int i,j,k,temp; int t; int n,m; cin>>t; while(t--)原创 2014-01-18 13:46:10 · 1216 阅读 · 0 评论 -
POJ 1789-T H 最小生成树初接触
题目大意:输入几个字符串,每个字符串可以转化为别的字符串,两个字符串同位置不同的数目称为转化值,要求找到转化值最小的方案。题目可以看成顶点全部连通的完全图,找出最小生成树,权值即为转化值。#include #include #include #include #include #include #include using namespace std;const int inf原创 2014-01-26 16:18:05 · 590 阅读 · 0 评论 -
POJ 2485 最小生成树
这道题和1789区别不到,数据量大,用Cin结果T了#include #include #include #include using namespace std;const int inf=65540;int dist[501][501];int n;int prim(void){ int s=1; int m=1; int map[501]; memse原创 2014-01-26 16:24:50 · 495 阅读 · 0 评论 -
HDU 1421 动态规划
#include #include #include #include #include using namespace std;int f[2001][1001];int a[2001];int getf(int i,int j){ if(j*2>i) { return 1000000000; } if(j==0) { return 0; } return原创 2014-01-18 14:09:03 · 619 阅读 · 0 评论 -
POJ-2503 Babelfish 二分+快排
题目的意思:就像查找一本字典,根据输入的条目和要查询的单词,给出查询结果(每个单词长度不超过10)刚开始用STL里面的map去做,结果华丽丽的TLE了,用了快排和二分去做#include #include #include #include #include using namespace std;const int MAX=100001;typedef struct{原创 2014-01-27 21:20:18 · 647 阅读 · 0 评论 -
BFS POJ2243- Dario
#include #include #include #include #include #include #define N 10using namespace std;int x1,y1,x2,y2;int sum;int dx[8]={1,2,2,1,-1,-2,-2,-1};int dy[8]={2,1,-1,-2,-2,-1,1,2};queuexx;queue原创 2014-01-31 17:16:38 · 516 阅读 · 0 评论 -
Codeforces 397B
同水题,第一反应是对的,结果越做越偏,简直太逗了。。。,后来改过了还因为_int 64 怒错,蠢死了。。#include using namespace std;int main(){ int t; __int64 n,l,r; int k; while(cin>>t) { while(t--) {原创 2014-02-27 12:14:26 · 579 阅读 · 0 评论 -
LA3902 Network
#include #include #include #include #include using namespace std;const int maxn=1010;vectorgr[maxn],nodes[maxn];int n,s,k,fa[maxn];bool covered[maxn];void dfs(int u,int f,int d){ fa[u]=f;/原创 2014-02-17 19:47:16 · 618 阅读 · 0 评论 -
poj 3264 RMQ与线段树
用线段树和RMQ都可以做的题,给出一个数组,多次查询一个区间内之间最大值与最小值的差RMQ算法,使用一个二维数组预处理,使得查询时实现O(1)的查询效率.用一个二维数组f(i,j)记录区间[i,i+2^j-1](持续2^j个)区间中的最小值。其中f[i,0] = a[i]; 所以,对于任意的一组(i,j),f(i,j) = min{f(i,j-1),f(i+2^(j-1),j-1)}来原创 2014-03-01 19:56:01 · 583 阅读 · 0 评论 -
ZOJ 3710 Friends 暴力
DescriptionAlice lives in the country where people like to make friends. The friendship is bidirectional and if any two person have no less than kfriends in common, they will become friends in sev原创 2014-03-11 20:19:04 · 595 阅读 · 0 评论 -
POJ-3070 Fibonacci 矩阵快速幂
上次周赛遇到一道DP+快速幂的题目,结果不会用快速幂,学习一下。题目给出了公式,求第n位的数,不过只保留后4位,mod 10000 就可以了。#include #include #include #include #include #include using namespace std;struct mat{ __int64 a[2][2];};mat solve(原创 2014-03-30 14:47:28 · 517 阅读 · 0 评论 -
POJ-1308 并查集
#include #include #include #include #include #include #include #define maxn 10005using namespace std;int bin[maxn],vis[maxn];int find(int x){ int r=x; while(bin[r]!=r) { r=bin[r]; }原创 2014-03-18 23:04:18 · 622 阅读 · 0 评论 -
HDU 1272-小希的迷宫 并查集初级
#include #include #include #include #include #define maxn 100010using namespace std;int father[maxn],mark[maxn];int flag;void init()//初始化 { for(int i=0;i<maxn;i++) { father[i]=i; mark[原创 2014-02-18 19:47:51 · 506 阅读 · 0 评论 -
hdu 1232-畅通工程 并查集入门
被图论搞得死去活来,很多基础知识不熟悉,似懂非懂。#include #include #include #include #include using namespace std;int bin[1002];int find(int x)//寻找根(父节点) { int r=x; while(bin[r]!=r) { r=bin[r]; }}void merge原创 2014-02-18 19:23:50 · 523 阅读 · 0 评论 -
ZOJ-3681 E - Cup 2 dfs
#include #include #include #include #include #include #include #include using namespace std;mapans;int dfs(int n)//记忆化搜索 { int minv=n/2+1; if(ans.count(n)) { return ans[n]; } for(int原创 2014-04-16 14:50:31 · 604 阅读 · 0 评论 -
codeforces 404B Marathon
挺好的一道题,结果因为自己粗心错掉了,边界数据给漏掉了。题意是一个运动员绕一个边长为a的正方形跑道跑,从(0,0)开始,每跑d米要喝水,喝nci,问n次的坐标。做法:(运动员在第几条线段上前进的距离+d)/a,得出可以前进多少线段,结果mod4 分别匹配就好了,循环处理n次#include #include #include #include #include using n原创 2014-03-20 09:05:35 · 641 阅读 · 0 评论 -
zoj-3676 Edward's Cola Plan 二分
好吧,这道题的难度就在于读题了,感觉挺逗的。每个朋友只能喝一瓶可乐,所以anzhao原创 2014-04-16 14:08:43 · 583 阅读 · 0 评论 -
ZOJ-3682 E - Cup 3 DP+01背包
想了很久才意识到可以用DP做,之前原创 2014-04-16 14:04:01 · 682 阅读 · 0 评论 -
Codeforces 408D Long Path
D. Long Pathtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputOne day, little Vasya found himself in a maze c原创 2014-03-31 13:48:42 · 761 阅读 · 0 评论 -
POJ-2524 Ubiquitous Religions 并查集
超水,最基础的应用,跟HDU的畅通工程一个难度#include #include #include #include #include #include #define maxn 50001using namespace std;int father[maxn];int n,m;void init( ){ for(int i=0;i<maxn;i++) { fat原创 2014-03-21 00:34:50 · 572 阅读 · 0 评论 -
Ural 1997-Those are not the droids you're looking for 二分图匹配
挺水的一道模板题让我硬生生错了10发,不想说什么了。#include #include #include #include #include using namespace std;int a,b;int n;int t,d;int count1,count2;bool visit[1111];int p[1111],q[1111];int link[1111];bo原创 2014-04-01 01:03:44 · 649 阅读 · 0 评论 -
POJ-2492 A Bug's Life 带权并查集
#include #include #include using namespace std;const int maxn=20010;int n,m,p[maxn],sex[maxn];int find(int x){ if(p[x]==-1) return x; int y=p[x]; p[x]=find(p[x]); sex[x]=(sex[y原创 2014-03-21 16:23:23 · 466 阅读 · 0 评论 -
POJ 1611--The Suspects 并查集
有一个学校,有N个学生,编号为0-N-1,现在0号学生感染了,凡是和0在一个社团的人就会感染,并且这些人如果还参加了别的社团,他所在的社团照样全部感染,求感染的人数。#include #include #include #include #include #include #define maxn 30001using namespace std;int father[maxn原创 2014-03-21 00:20:28 · 517 阅读 · 0 评论 -
DP训练 hdu 1003 Max Sum 最大连续子段和
开始专项有目的做题,从水题开始吧。。。#include #include #include #include #define maxn 110000using namespace std;int n,a[maxn];int max(int a,int b){ if(a>b) return a; return b;}/*int maxsum(int v[]){ in原创 2014-03-22 22:49:50 · 496 阅读 · 0 评论 -
DP训练 POJ-1050 To the Max
题意:给出一个矩阵,求出最大子矩阵。最大子矩阵就是该矩阵的所有元素之和最大。思路:把该问题转化为一维数组最大连续子串和问题,即二维转化为一维。假设求出的最大子矩阵为从x行到y行,从第c列到第r列,则该矩阵转化为一维即用数组储存从第1列到第n列的所有x行到第y行的元素和,求数组的最大连续子串和。#include #include #include #include #incl原创 2014-03-22 23:01:12 · 498 阅读 · 0 评论 -
PO-J1125 Stockbroker Grapevine 最短路径
标准的最短路径模板题目#include #include #include #include #include using namespace std;const int inf=20;int dist[101][101];int i,j,k;int n; //经纪人个数void floyd(){ for(k=1;k<=n;k++) for(i=1;i<=n;原创 2014-03-22 23:26:48 · 510 阅读 · 0 评论 -
POJ-1988 Cube Stacking 带权并查集
给你编号从1到30000块砖,有2种操作:1.M a b 表示把a放在b的上面。还有一种情况是:假如1的下面还有一个2,3的下面还有一个4,那么move1,3的意思就是把1所在的全部立方体放在3全部立方体的上面,而且保持原来1和3所在堆的立方体的顺序。移动后从上到下依次为1,2,3,4.且只能是这一种情况2.count a 表示询问a下面有几块砖带权值的并查原创 2014-03-21 18:05:23 · 577 阅读 · 0 评论 -
DP训练 K好数
问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答原创 2014-03-21 20:40:49 · 442 阅读 · 0 评论