自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

肘子的博客

向流星许愿

  • 博客(45)
  • 收藏
  • 关注

原创 Throwing cards away I UVA - 10935(底层实现循环队列)

传送门题意:先将第一张牌扔出,将第二张牌插到队列末尾,直到没牌题解:使用循环队列(底层)//底层实现循环队列#include<iostream>#include<cstdio>using namespace std;const int maxn=55;int cq[maxn],headcq,tailcq;void pushcq(int v){ ...

2018-06-26 08:39:13 215 2

原创 Sudoku POJ - 2676(深度优先搜索)(81宫格填数)

传送门题意:在81宫格中填入1-9,使得每一行,每一列,每一大块(9个一块)都不相同题解:使用深度优先搜索,可以使用row[9][10],col[9][10],block[9][10]来标记还有个判断在第几块的套路,可以先在纸上比划,最后就得出规律了#include<iostream>#include<cstdio>#include<vector>#inc...

2018-06-24 17:51:46 559

原创 城堡问题 OpenJ_Bailian - 2815 (深度优先搜索)(用递归与栈两种方法实现)

传送门题意:有个房间,房间的值用四面的门加起来的值表示,非常巧妙,西门用1表示,北门用2表示,东门用4表示,南门用8表示,最后判断是否连通的方法使用&,非常巧妙。 题解一:使用递归解法://递归实现#include<iostream>#include<cstdio>using namespace std;const int maxn=60;int r...

2018-06-24 14:53:09 347

原创 Connect the Cable Wires UVA - 10862(大数+递推)

传送门这个题是个递推题:f0=1;f1=3;fi=3*f(i-1)-f(i-2);使用大数,大数以1e16为一进制,最后注意输出格式,wa了4发#include<iostream>#include<cstdio>#include<cstring>using namespace std;typedef long long LL;const int ...

2018-06-23 21:28:11 164

原创 Powers Et Al. UVA - 10515 (大数的幂)(规律题)

传送门题意:给出两个非负整数m和n,请找出在十进制下m^n的最后一位数。题解:因为n和m都非常大,对于n,只需要取出最后一位进行计算就可以。对于m,有规律可循,可以依次写出1的各个次方,2的各个次方,3的各个次方......9的各个次方,过了9就不必枚举了,因为个位总是一样的,跟据枚举,发现规律,2,3,7都是以每4个连续的次方为一个循环的,4和9都是以2个连续的次方为1个循环的,5和6的任意次方...

2018-06-23 19:26:37 182

原创 Save Hridoy UVA - 10894 (构图)(循环控制)

传送门让一个图放大缩小,根本不用多开数组,直接使用原字符数组进行循环控制,两种方法方法一:循环控制行列#include<iostream>#include<cstdio>using namespace std;const int maxn=1e3+50;char h[5][100] = {"*****..***..*...*.*****...*...*.***...

2018-06-23 09:22:24 129

原创 You can say 11 UVA - 10929(数学)(大数模除)

传送门题意:给出正整数,确定其是否是11的倍数吴永辉老师给出了两种方法:方法一:递推(感觉和长除法很想,模拟一个真实的除法)设高精度整数位A=a(0).....a(l-1),前i位(a(0)....a(i))的余数为s(i);s(0)=0;s(i)=(s(i-1)*10+(ai对应的一位整数))%11(1<=i<=l-1)显然,如果s(l-1)==0,则A是11的倍数,否则A非11的倍...

2018-06-21 21:19:38 213

原创 Not That Kind of Graph UVA - 10800 (构图)(巨坑)

传送门题意:跟据字符构造股票动态图。题解:先构造一个大的二维数组,然后从中间开始构图,最后将坐标轴构造好,这道题输出格式巨坑啊,WA了4发#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=50;char s[maxn];cha...

2018-06-21 19:53:14 305

原创 Fractions Again?! UVA - 10976(数学题)

传送门题意简述:  输入正整数k,求满足1/k=1/x+1/y并且x≥y的正整数对x和y。问题分析:  先枚举y,因为x≥y,其范围小。其他要点如下:  1.因为1/k=1/x+1/y且x>0,所以1/k>1/y,得y>k;  2.x≥y,有1/x≤1/y,且1/k=1/x+1/y,所以1/k-1/y≤1/y,得y≤2k;  3.这样只需要y在k+1到2k之间枚举试算即可;  4...

2018-06-21 15:50:05 137

原创 Soundex UVA - 10260(soundex编码)(水)(略坑)

传送门题意:Soundex编码是将基于它们的拼写听起来相同的单词归类在一起。例如,“can”和“khawn”在Soundex编码下是等价的。这道题WA了两发,拓展了个知识。#include<iostream>#include<cstdio>#include<map>#include<vector>#include<cstr...

2018-06-20 20:39:06 610

原创 (追踪电子表格的单元格)Spreadsheet Tracking (UVA - 512)(模拟)

传送门这道模拟题思路很好,使用/和%,刘汝佳说直接看代码理解,确实可以的,思路很好。//模拟#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxd=100;const int big=10000;int r,c,n,d[maxd...

2018-06-18 19:21:42 520

原创 (信息解码)Message Decoding(uva213)(模拟,输入输出处理)(ACM/ICPC WF 1991)

传送门#include<iostream>#include<cstdio>#include<cstring>using namespace std;int code[8][1<<8];int readchar(){ for(;;){ int ch=getchar(); if(ch!='\n'&...

2018-06-17 17:06:40 286

原创 (救济金发放)The Dole Queue(UVA - 133)(循环队列的处理)

传送门//循环队列#include<iostream>#include<cstdio>using namespace std;const int maxn=25;int n,k,m,a[maxn];int go(int p,int d,int t){ while(t--){ do{ p=(p+d+n-1)...

2018-06-17 16:47:04 439

原创 浮点数 Floating-Point Numbers (uva11809)

 传送门  这个题复习了一遍浮点数的存储方式。浮点数在计算机里是分三部分表示的,最前面一位表示符号,后面一部分是尾数,最后一部分是阶码,表示方法类似于科学记数法,不过是二进制的,尾数是M阶码是E的话那么表示起来就是M × 2^E了。然后对于M还有一个要求,就是1/2 ≤ M < 1,所以用二进制表示M的话就应该是0.1XX……,用计算机表示的时候就把最前面的“0.1”这个永远不变的部分给省略...

2018-06-17 11:29:27 1611

原创 长除法 循环小数(uva202)(ACM/ICPC WF 1990)

传送门模拟长除法的计算过程,其中每一位除法时都有被除数和余数,当被除数出现重复时就表示出现循环节了,所以需要记录每一位的被除数及其在循环小数中的位置,需要注意当除数不够除,每一次补零也需要记录其相应的位置。#include<iostream>#include<cstdio>#include<map>using namespace std;map&lt...

2018-06-17 08:42:01 751

原创 ccf201709-5除法(树状数组)

问题描述  小葱喜欢除法,所以他给了你N个数a1, a2, ⋯, aN,并且希望你执行M次操作,每次操作可能有以下两种:  给你三个数l, r, v,你需要将al, al+1, ⋯, ar之间所有v的倍数除以v。  给你两个数l, r,你需要回答al + al+1 + ⋯ + ar的值是多少。输入格式  第一行两个整数N, M,代表数的个数和操作的次数。  接下来一行N个整数,代...

2018-06-07 20:10:39 402 1

原创 莫队算法(小Z的袜子)

目前的题型概括为三种:普通莫队,树形莫队以及带修莫队。例题一:小Z的袜子·述大意:     进行区间询问[l,r],输出该区间内随机抽两次抽到相同颜色袜子的概率。·分析:     对于L,R的询问。设其中颜色为x,y,z....的袜子的个数为a,b,c。。。那么答案即为(a*(a-1)/2+b*(b-1)/2+c*(c-1)/2....)/((R-L+1)*(R-L)/2)化简得:(a^2+b^2...

2018-06-07 19:36:47 347 1

原创 poj2528Mayor's posters(离散化+线段树)

DescriptionThe citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their electoral posters at all places at their whim. The city council ...

2018-06-06 20:40:44 145

原创 线段树lazy操作(poj3468)

多加入一个lazy数组,如果要加的区间正好覆盖一个结点,则增加其节点的lazy值,不再往下走,否则要更新(加上本次增量),再把增量往下传,这样更新的复杂度是O(lgn)。在查询时,如果带查询区间不是正好覆盖一个结点,就将结点的lazy往下带,然后将lazy代表的所有增量累加到sum上后将Lazy清零,接下来再往下继续查询。#include<iostream>#include<c...

2018-06-06 15:53:26 237

原创 hdu2152Fruit

转眼到了收获的季节,由于有TT的专业指导,Lele获得了大丰收。特别是水果,Lele一共种了N种水果,有苹果,梨子,香蕉,西瓜……不但味道好吃,样子更是好看。 于是,很多人们慕名而来,找Lele买水果。 甚至连大名鼎鼎的HDU ACM总教头 lcy 也来了。lcy抛出一打百元大钞,"我要买由M个水果组成的水果拼盘,不过我有个小小的要求,对于每种水果,个数上我有限制,既不能少于某个特定值,也不能大于...

2018-06-05 16:04:34 133

原创 hdu2069Coin Change

Suppose there are 5 types of coins: 50-cent, 25-cent, 10-cent, 5-cent, and 1-cent. We want to make changes with these coins for a given amount of money. For example, if we have 11 cents, then we can m...

2018-06-05 16:02:25 216

原创 hdu1709The Balance

Now you are asked to measure a dose of medicine with a balance and a number of weights. Certainly it is not always achievable. So you should find out the qualities which cannot be measured from the ra...

2018-06-05 16:00:33 222

原创 hdu1171Big Event in HDU

Nowadays, we all know that Computer College is the biggest department in HDU. But, maybe you don't know that Computer College had ever been split into Computer College and Software College in 2002. Th...

2018-06-05 15:58:38 105

原创 hdu1085Holding Bin-Laden Captive!

We all know that Bin-Laden is a notorious terrorist, and he has disappeared for a long time. But recently, it is reported that he hides in Hang Zhou of China! “Oh, God! How terrible! ” Don’t be so afr...

2018-06-05 15:54:15 604

原创 hdu1398Square Coins

People in Silverland use square coins. Not only they have square shapes but also their values are square numbers. Coins with values of all square numbers up to 289 (=17^2), i.e., 1-credit coins, 4-cre...

2018-06-05 15:51:54 225

原创 hdu1028 Ignatius and the Princess III

"Well, it seems the first problem is too easy. I will let you know how foolish you are later." feng5166 says. "The second problem is, given an positive integer N, we define an equation like this:   N=...

2018-06-05 15:49:26 99

原创 最大长方形(dp)(直方图)

把表的每一行看作是一个直方图,求直方图内的最大长方形的问题。使用栈来代替数组记录局部问题的解,栈中记录“仍有可能扩张的长方形的信息(记为rect)”,rect内含有两个信息,一个是长方形的高height,另一个是其左端的位置pos,首先将栈置为空,接下来对于直方图的各个值Hi(i=0,1,---,w-1),创建以Hi为高,以其下标i为位置的长方形rect,然后进行下列处理:1.如果栈为空,将rec...

2018-06-04 18:46:36 960

原创 Largest Square(dp)(最大正方形)

Largest SquareGiven a matrix (H × W) which contains only 1 and 0, find the area of the largest square matrix which only contains 0s.InputH Wc1,1 c1,2 ... c1,Wc2,1 c2,2 ... c2,W:cH,1 cH,2 ... cH,W...

2018-06-04 14:56:45 588

原创 十六宫格拼图(A*/IDA*)(曼哈顿距离)

迭代加深:通过单纯的深度优先搜索无法找出初始状态到最终状态的最短路径,但是重复进行限制最大深度的深度优先搜索(深度受限搜索)却可以。简单来说,就是在循环执行深度受限搜索的过程中逐步增加限制值limit,直到找到解为止,这种算法称为迭代加深(Iterative Deepending)IDA*在迭代加深中,通过推测值进行剪枝处理的算法称为迭代加深A*或者IDA*。这里的推测值又称为启发通常可以取完成目...

2018-06-04 09:54:58 5060 1

原创 树的直径

进行两次bfs,然后找出最长的路径。//两次bfs,求树的直径#include<iostream>#include<cstdio>#include<vector>#include<queue>using namespace std;const int maxn=1e5+5;const int inf=(1<<30);...

2018-06-04 08:45:16 136

原创 Divide by Zero 2018 and Codeforces Round #474 (Div. 1 + Div. 2, combined)B: Minimize the error

You are given two arrays A and B, each of size n. The error, E, between these two arrays is defined . You have to perform exactly k1 operations on array A and exactly k2 operations on array B. In one ...

2018-06-04 08:40:58 196

原创 Segment Intersections: Manhattan Geometry(线段相交问题)

Segment Intersections: Manhattan GeometryFor given nn segments which are parallel to X-axis or Y-axis, find the number of intersections of them.InputIn the first line, the number of segments nn is giv...

2018-06-03 15:46:02 755

原创 凸包(安德鲁算法)

凸包是指包含点集合P中所有点的最小凸多边形。凸包可以理解为在木板上钉了许多钉子,然后用一根橡皮筋框住所有钉子时所得到的多边形。安德鲁算法:1.将给定集合的点按x坐标升序排列,x相同的按y坐标升序排列。2.按下述流程创建凸包的上部将排序后的点按照x坐标从小到大的顺序加入凸包U。如果新加入的点使得U不再是凸多边形,则逆序删除之前加入U的点,直到U重新成为凸多边形为止。3.按下述...

2018-06-03 10:16:48 616

原创 点的内包

typedef vector<point>polygon;int contains(polygon g,point p){ int n=g.size(); bool x=false; for(int i=0;i<n;i++){ point a=g[i]-p,b=g[(i+1)%n]-p; if(abs(cross(a,b...

2018-06-03 08:22:34 161

原创 圆与圆的交点

double arg(point p){return atan2(p.y,p.x);}point polar(double a,double r){ return point(cos(r)*a,sin(r)*a);}pair<point,point>getcrosspoints(point a1,double r1,point a2,double r2){ ...

2018-06-03 08:22:30 2001

原创 圆与直线的交点

只过了一组数据,未更新。

2018-06-03 08:22:23 10904 3

原创 线段与线段的交点

 +point getcrosspoint(point a,point a1,point b,point b1){ point base=b1-b; double d1=abs(cross(base,a-b)); double d2=abs(cross(base,a1-b)); double t=d1/(d1+d2); point temp...

2018-06-02 17:12:32 7264 4

原创 判断线段相交

分别检查两条线段,如果双方都符合“另一条线段的两个端点分别位于当前线段的顺时针方向和逆时针方向”,则两条线段相交。const int COUNTER_CLOCKWISE=1;const int CLOCKWISE=-1;const int ONLINE_BACK=2;const int ONLINE_FRONT=-2;const int ON_SEGMENT=0;int ccw(poi...

2018-06-02 16:54:49 448

原创 判断方向

1.外积的大小为正时,可以确定b在a的逆时针位置2.外积的大小为负时,可以确定b在a的顺时针位置3.当1,2都不满足时,表示p2位于直线p0p1上(不一定在线段上)cos在角度大于90度或这小于-90度时为负,所以a与b的内积dot(a,b)为负时,可确定p2位于线段p0p1的后方4.当3不满足时,判断b的大小如果大于a的,在前方5.不符合上述情况,则可以确定p2位于p0p1上string ccw...

2018-06-02 16:34:50 203

原创 距离

两点间的距离//两点间的距离double getdistance(point a,point b){ return ABS(a-b);}点到直线间的距离//点到直线的距离double getdistanceLP(line l,point p){ return ABS(cross(l.p2-l.p1,p-l.p1)/ABS(l.p2-l.p1));}点到线段之间的距离//...

2018-06-02 16:16:16 190

空空如也

空空如也

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

TA关注的人

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