![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
省赛前
文章平均质量分 58
yangshuolll
这个作者很懒,什么都没留下…
展开
-
XinanTanOJ 1168 Alice and Bob 二维DP
Alice and BobAccepted : 58 Submit : 185Time Limit : 1000 MS Memory Limit : 65536 KBProblem DescriptionAlice and Bob always love to play games, so does thi原创 2013-09-25 22:49:43 · 986 阅读 · 0 评论 -
迷宫问题 poj 3984 搜索算法 宽搜+dfs回溯
题目链接地址很简单的搜索,只要广搜就可以了,然后就是记录搜索地址,最后我竟然又用了一遍DFS(),求出了最后的路径。0 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00 0 0 1 0宽搜后的结果,然后再DFS回溯求返回路径就可以1 0 7 8 02 0 6 0 83 4 5 6 74 0 0 0 85 6 7 0 9最原创 2013-06-16 00:42:00 · 1562 阅读 · 0 评论 -
两年一瞬间
今天2013/5/28写下这篇日志。目测离老队员离开的日子木有几天了。自己今天还没心没肺的和队长开着玩笑。2011/9/27这是注册的杭电号。那时应该算是我入队的时间吧。想想离自己退役的日子也越来越近了。离别时的伤感总是不自觉的涌上心头,充斥着自己心中的任何角落。 2009届的老队员把我们队伍带到了一个新的高度,打区域邀请赛,参加区域赛,省赛第三名~~等等等等。 突然就这样,他们就要离开这个原创 2013-05-28 22:18:17 · 1475 阅读 · 4 评论 -
2013湘潭赛 Hurry Up 三分算法
三分算法讲解hurry up题目链接用min函数和max函数写不过,自己手写比较函数通过了,貌似比赛也是这样的~~囧最后就是 比较两条路线的路径最短,第二条路线是一条满足#include#include#include#include#include#includeusing namespace std;const double eps=1e-8;str原创 2013-05-14 00:27:41 · 1243 阅读 · 0 评论 -
2013-5-11湘潭邀请赛总结
这次湘潭赛结束了,在母亲节这一天写下自己的比赛总结。自己的acm生涯只剩下4个月了吧~ 每次说出这句话就被羽哥凶。湘潭赛极其惊险的结束了,我有时在想如果H题wa了八次后没有过,这个结果会是怎样。我现在一直不敢想像。想想刘教练讲的回顾一下以往的知识,做一下以往的经典例题,这真的是一条明路。我想自己也会这样走下去。感谢codeforces这一年来对我的磨练,感谢教练,队长,老队员,和队友的原创 2013-05-13 00:14:21 · 2335 阅读 · 4 评论 -
hdu 1671 字典树问题 TIRE树
题目链接重新码一遍字典树会对字典树有着更深的印象,原来是直接动态开辟的空间,觉得这样的方法好麻烦,自己借鉴代码写的利用已知存储空间来求字典树。#include #include #include #include #include using namespace std;const int max_child=200000;const int char_set=26;c原创 2013-05-10 01:38:55 · 1155 阅读 · 0 评论 -
Codeforces Round #183 (Div. 1)Lucky Permutation Triple
羽哥猜想题目链接答案很简单偶数不可以奇数直接输出就好了#include#includeusing namespace std;int main(){ int n; while(scanf("%d",&n)!=EOF){ if(n%2==0){ printf("-1\n"); contin原创 2013-05-22 23:14:09 · 1231 阅读 · 0 评论 -
Codeforces Round #184 (Div. 2) Continued Fractions 分数计算 long long相乘会越界
题目链接关于分数的计算,真是很经典的问题我开始用的重载运算符错了 在于初始化和long long 相乘的越界采用了第二种方法#include //重载运算符 这道题不适用 *号和加号会越界long long gcd(long long a,long long b){ if(a%b==0)return b; else return gcd(b,原创 2013-05-22 23:20:04 · 1441 阅读 · 0 评论 -
Codeforces Round #183 (Div. 2) B. Calendar 天数差
题目链接求解两年间的天数差直接套模板就好了先分别计算两年到公元0年0月0日的天数,相减去绝对值就好了。写模板/************************************************************************* > File Name: test.cpp > Author: yangshuo > Mail原创 2013-05-22 23:12:24 · 1126 阅读 · 0 评论 -
codeforces 183(div2) A. Pythagorean Theorem II 枚举+二分查找
今天和羽哥老汪进行了长沙赛前的最后一场个人赛,还差星期五的一场团体赛,加油吧!少年题目链接直接进行暴力枚举,自己先把所有的情况都算出来,再进行二分查找。记录所有的数据。时间为n*n*lgn羽哥直接进行的是(a*a+b*b)-ceil(a*a+b*b)来判断是否是小于 eps (eps=1e-10)post code:/**************************原创 2013-05-22 23:07:26 · 1074 阅读 · 0 评论 -
codeforces 302B. Eugeny and Play List
数据量很大,查找的时候很耗时间,就想到队长所说的二分算法了,又码了一遍,加深一下印象。题目链接就是注意存储数据时用long long 来存储,要不会爆掉。#include#include#include#includeusing namespace std;const int MAX=2000000000;const int maxn=200000;long lon原创 2013-05-08 01:34:47 · 1901 阅读 · 0 评论 -
poj 1385 Lifting the Stone 多边形求重心
题目链接知识讲解两种代码~#include#include#includeusing namespace std;const double eps=1e-7;int cmp(double a){ if(fabs(a)<eps)return 0; else return 1; }struct node{ double x,y;原创 2013-05-20 23:18:02 · 827 阅读 · 0 评论 -
AsiaHatyai-2012 & LA 6144 - Radiation 二分搜索+集合运算
题目链接典型的二分搜索的模板题。先排序在搜索,数据量好大~~ 用o(n)的暴力求法 一定超时这里还用到了 文氏图中 的一些知识即 所有人 - 圆圈1中的人 - 圆圈2中的人就是答案;先求出距离,对距离排序,再二分就好了。也可以看队长的blog下面是我这道题的二分搜索的代码。#include #include #include #include #inclu原创 2013-05-05 02:14:43 · 987 阅读 · 0 评论 -
编译器需要注意的事项
还有要注意的是double 类型的数据 对于g++ 编译器来讲 输出要用%f 而对c++编译器来讲,要用 %lf原创 2013-05-17 22:50:51 · 848 阅读 · 0 评论 -
poj 1269 Intersecting Lines 计算几何 直线求交点
题目链接自己请教了队长和军哥,终于明白了 模版的思想了。模版还需要自己再写一遍的。还有要注意的是 对于g++ 编译器来讲 输出要用%f 而对c++编译器来讲,要用 %lf 这是要注意的。#include#include#include#includeusing namespace std;struct point{ double x,y;原创 2013-05-17 22:48:42 · 1142 阅读 · 0 评论 -
小技巧
杭电中输出不要用%lld 要用%I64d linux是输出lld ,windows 是I64d 。所以杭电用的是windows server。对于数据类型 longlong 和__int64都可以。原创 2013-06-07 01:25:41 · 815 阅读 · 0 评论 -
hdu 4565 so easy 线性递推+矩阵乘法+快速幂 2013湖南区域邀请赛
解题报告链接题目链接别人的递推公式写的很详细,我就不写了,我写下应当注意的事项吧。看了别人的解题报告 大呼一声模板 就开始码,码了三遍~~wa了无数次,还有就是栈溢出等等 我就郁闷了,这个模板是略有不同的。(1)存在负数的情况 以往做的题都 矩阵中都是正数 而现在出现的负数的情况 对于编译器来讲 -9%2=-1 这个是需要注意的。 最后的结果可能也为负数,所以要加上模的数原创 2013-06-07 01:24:32 · 1399 阅读 · 0 评论 -
hdu 2707 Steganography 模拟题
这个题目就是让你找字符间空格的数量 偶数的为1 奇数为0 然后转化二进制 而后编程10进制 找出对应的符号即可下面就是题目的源代码#include#include#include#includeusing namespace std;char a[100000];char s[2000];int begin;void fun(int b,int e){ /原创 2013-09-21 01:47:30 · 1072 阅读 · 0 评论 -
hdu 2529 shot 数学问题 解方程
题目链接这里有个很好的解释 我就不解释了,直接贴代码吧。。。 #include#include#includeconst double g=9.8;const double two=-0.5;int main(){ double h,l,v,ans; while(scanf("%lf%lf%lf",&h,&l,&v)!=EOF){原创 2013-09-20 23:05:22 · 1494 阅读 · 0 评论 -
hdu 2197 本原串 找规律+快速幂+映射
题目链接F[n]=2^n-ΣF[i]-2;(其中,i是n的约数)F[n]是最后的结果按照公式直接求解就好了,今天学到了新的一招 用map来存储已经查询过的记录下面附上题目代码#include#include#include#include#includeusing namespace std;mapmp;const int MOD=2008;int fun(原创 2013-09-20 00:40:31 · 1268 阅读 · 0 评论 -
hdu 一卡通大冒险 递推 或是 dp
题目链接地址这道题给我的感觉是dp的思想 其实也可叫递推了 再回来的路上突然有了灵感 发现后面一个的状态和前面一个的状态有关就是 下面的关键代码 a[1][1]=1; a[2][1]=1; a[2][2]=1; for(int i=3;i<=2000;i++){ for(int j=1;j<=i;j++){ if原创 2013-09-19 01:13:42 · 892 阅读 · 0 评论 -
hdoj 1045 Fire Net 直接枚举 模拟就好了
题目链接直接枚举所有结果就可以了,就是第一次模拟这样的数据 每个位置若没有阻挡物,存在着两种状态,一是有堡垒,二是空地。直接枚举就可以了。自己的代码写的很繁琐,但是 首次想到了 将if(y>=n){x++,y=0}通过这项关键函数,就可以有序的枚举 从左往右 然后判断是否成立,若成立重新扫描一遍,得到堡垒是否最多。自己第一次写的枚举代码 很是繁琐。#include#incl原创 2013-09-02 22:30:36 · 902 阅读 · 0 评论 -
poj 3488 Arne Saknussemm 模拟题
今天听了鑫固的理解,直接将这道题搞定了。题目是英文题,那叫一个长啊,读着读着就不想读了,后来鑫固提醒直接看样例,然后就解决掉了,下附题目链接。题目链接直接从最后一列,往前一列一列的输出就可以了,列输出的顺序是从下往上输出。然后遇到“\”输出回车,遇到“_” 输出空格就ok了。 下面附上切题代码#include#include#includechar a[1100][1100]原创 2013-08-29 22:12:41 · 1867 阅读 · 0 评论 -
poj 3481 Double Queue 排序
Double Queue方法一 直接调用 用 O(n)的查询来找最小值也可以方法二 然后用set 也可以进行排序两种方式#include#include#includeusing namespace std;struct node{ int num,pro; bool operator <(const node &a)const{ re原创 2013-08-28 22:37:57 · 1146 阅读 · 0 评论 -
poj 3480 John 简单的nim博弈
John(1) 超过1的个数为2 然后异或值!=0 先者胜,若为0则后者胜 直接按nim来(2)超过1的个数为1个 然后先者胜(3)超过1的个数没有,都为1的话,奇数个是后者胜,偶数时先者胜#include#include#include#includeint main(){ int x; scanf("%d",&x); while(x--){原创 2013-08-28 22:34:53 · 1200 阅读 · 0 评论 -
Gregory the Grasshopper BFS搜索
DescriptionGregory is a grasshopper. His favourite food are clover leafs ¡ª he can simply never have enoughof them. Whenever he spots such a leaf, he wants to eat it as quickly as possible. Gregor原创 2013-08-27 11:51:05 · 1193 阅读 · 0 评论 -
小技巧 关于处理从字符串中读取数值的操作 博哥的思想~泽被后人啊
题目链接关于读取shift(233,422,5333,744433) 要取出其中的数据据 所采用的方法#include#include#includeusing namespace std;int a[6000],p[500000];int main(){ int n; while(scanf("%d",&n)!=EOF){ for(原创 2013-08-21 14:32:25 · 1447 阅读 · 6 评论 -
关于pc2的搭建
今天记录一下机房 pc2的搭建进入c盘pc2/bin 文件夹中1. 打开pc2rest.bat 清空原始数据文件2.打开pc2server 账号和密码都是 site1 3. 打开 pc2admin 账号和密码是 administrator1 然后 Account 项中 设置数量 judge 1 team 100 scoreboard 1 administrat原创 2013-08-21 20:59:37 · 1882 阅读 · 0 评论 -
DOBRI 简单的dp
DescriptionYou are given a sequence A consisting of N integers (not to be confused with the sequence from the previous task). We will call the ith sequence element good if it equals the su原创 2013-08-20 22:58:09 · 1057 阅读 · 0 评论 -
2011 湖南省 ACM 程序设计竞赛 C题 多连通拼图 直接枚举就好了
给一个大多连块和小多连块,你的任务是判断大多连块是否可以由两个这样的小多连块拼成。小多连块只能平移,不能旋转或者翻转。两个小多连块不得重叠。左下图是一个合法的拼法,但右边两幅图都非法。中间那幅图的问题在于其中一个小多连块旋转了,而右图更离谱:拼在一起的那两个多连块根本就不是那个给定的小多连块(给定的小多连块画在右下方)。Input输入最多包含20组测试数据。每组数据原创 2013-08-19 22:40:44 · 1636 阅读 · 0 评论 -
Codeforces Round #191 (Div. 2) C. Magic Five 等比数列的快速幂
题目链接这道题好像POJ3233 基本的思路是一样的。这道题应该用快速幂来求,若是对于项数很多的等比数列,应为求和公式中包含了除号,所以不能直接取mod,应该进行快速米的转化例如求sum=2^1+2^2+2^3+2^4+2^5+2^6+2^7 .......共有n项这是的公式就为 若n%2==0 T(n)=T(n/2)+T(n/2)*2^(n/2);原创 2013-07-05 00:03:55 · 2150 阅读 · 2 评论 -
HDU 2087 剪花布条 kmp
题目链接坑的kmp 最后写成这样了~~当 next[n]=0时 就是这道题的答案了。但是 当不加上文一句时记录的是 每次kmp时的起始位置。#include#include#include#includeusing namespace std;vector ans;vector get_SubString(string pattern,string原创 2013-05-03 00:54:41 · 956 阅读 · 0 评论 -
Codeforce 298 A snow Footprint 思维问题
codeforce 298 A注意看题目 : 就是 solar bear 必须走过这格之后才会造成印迹的变化 这点是需要注意的。结果就只有这三种情况了(1)RRRRR 从1走到6(2)LLLLLL 从6走到1(3)RRRRLLLLL 这种情况我是考虑 第一个R出现的位置为起始位置,第一个L出现的位置为终止位置,这是最终的结果的其中一项。不存在 LLL原创 2013-04-20 23:37:38 · 1319 阅读 · 0 评论 -
字符数组和字符串的相互转化 和sprintf的使用
代码写的很明白了 自己看~~#include#include#includeusing namespace std;int main(){ char s[30]="hello"; char p[30]; string ch="map",ss; strcpy (p,ch.c_str()); //字符数组变成字符串 printf("%s\n"原创 2013-04-22 01:07:43 · 4014 阅读 · 0 评论 -
poj 1988 Cube Stacking 并查集
题目链接题目意思就是将M a,b 就是将a所在的堆放到b所在的堆的上面。 C n 就是计算 n下面的箱子的个数注意: 题目中需要开辟两个变量 记录堆中箱子的总个数和 本箱子上面的箱子个数然后利用并查集,对两堆箱子进行合并,然后(上面的箱子的根节点)的 是(下面箱子根节点)的父节点。然后更新(上面箱子的根节点的总个数)(记录的是两堆箱子合并后的总个数),(更新新面箱子的根节点的记录原创 2013-04-13 01:55:13 · 955 阅读 · 0 评论 -
poj 2524 Ubiquitous Religions 并查集
今天听了东哥的并查集的讲课,回忆起了以往的并查集的知识,自己在好好的写一把,仔细回忆一下自己理解的并查集;并查集进行并和查的操作,对于这到信仰问题,只要知道每个节点的父节点就可以了,不用填加额外的信息。Find(int i){ if (father[i]==i)return i; father[i]=Find(father[i]); //精辟的代码 进行了状态压缩 只要一次就原创 2013-04-13 00:39:28 · 728 阅读 · 0 评论 -
UVA 11729 Commando War 贪心的思想
题目链接brief introduction :Each soilder needs to complete own task seperately,in other words his task did't depend on other soilder's help.you ,as a commander,need to assign the task to each other原创 2013-04-10 23:42:13 · 890 阅读 · 0 评论 -
POJ 2083 Fractal 分治+递归
传送门 Fractal还记得这道题是入队第一周的比赛题~~~当时怎么也切不出来~~当时自己还敲了一遍雄哥的代码~~还是不懂今天仔细一想 分治加递归的思想 果然解决了这道困扰自己很久的题 很有意思原文是这样的X-X X XX X-X X X X X XX X X X X X X X XX X原创 2013-03-27 00:02:28 · 1367 阅读 · 0 评论 -
关于分治和递归的几点思考 有关全排序问题
自己认为这就是permutation 的函数的内容:对于全排序来讲{1,2,3,4}1 2 3 41 2 4 31 3 2 41 3 4 21 4 3 21 4 2 32 1 3 42 1 4 32 3 1 42 3 4 12 4 3 12 4 1 33 2 1 43 2 4 13 1 2 43 1 4 23 4 1 23原创 2013-03-26 00:30:15 · 903 阅读 · 0 评论 -
二分算法--的几点思考
之前写的二分算法的模板 现在略作更新点击打开链接标准的二分算法的形式是:templateint BinarySearch(Type a[],const Type& x,int n) // 总共n个值 数组从0开始 { int left=0; int right=n-1; while(left<=right){ int midd原创 2013-03-25 23:37:13 · 1013 阅读 · 0 评论