自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

普通で歩む

tu gi he to

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

原创 HDU 3371 Connect the Cities(实力+运气题)

题型:明显的用并查集+kruskal的最小生成树的模版题,然而就让人很难受。 首先,并查集没有用路径压缩的一定 T,用了的选择 T,路径压缩写的不好的还是 T,我见到的的写的最好的,在我疯狂提交10多次时还是 T 了两三次。附上写的好的的路径压缩#include <iostream>#include <cstdio>#include <string.h>#include <queue>#i

2017-02-19 21:25:56 245

原创 HDU 2604 Queuing (dp式打表/lcm)

思路:通过讨论上一位置的的00,01,10,11的个数进行递推技巧:算了一下空间复杂度,发现int的数组需要12万k。。题目给的是32xxx,所以把int换成了char就水过去了。 变成了3万左右的复杂度。#include <iostream>#include <cstdio>#include <string.h>#include <queue>#include <cmath>#incl

2017-02-19 12:56:12 161

原创 HDU 2601 An easy problem (数论)

思路:可以化简为 N+1 = (i+1)*(j+1);坑点:注意i*i爆int了。。。#include <iostream>#include <cstdio>#include <string.h>#include <queue>#include <cmath>#include <algorithm>#include <map>typedef long long int lli;usi

2017-02-19 09:31:36 77

原创 HDU 5748 Bellovin(LIS nlogn)

坑点:注意在二分的时候不要减一,比如:if(key < mid){ r = mid - 1;}这样的话可能把我们需要改的数据跳过去。。。。 坑死我了。#include <iostream>#include <cstdio>#include <string.h>#include <queue>#include <cmath>#include <algorithm>#includ

2017-02-18 17:01:57 244

原创 POJ 3548 Common Subsequence (LCS,dp)

思路:最长公共子序列。#include <iostream>#include <cstdio>#include <string.h>#include <queue>#include <cmath>#include <algorithm>#include <map>typedef long long int lli;using namespace std;int dp[1040][104

2017-02-18 15:27:29 186

原创 ZOJ 3780 Paint the Grid Again (逆推)

思路:如果这张图能涂成的话,那么我们每次一定能找到一行或一列一样的,涂完的这行或者列就可以是任意的了,在接着向前边的状态变换。注意题目要求的字典序最小,那么可以列得在行前,所以我们从后往前处理时先处理行。然后同行或同列,从大到小处理。#include <iostream>#include <cstdio>#include <string.h>#include <queue>#include

2017-02-18 13:02:23 444

原创 HDU 3347 Calculate the expression(模拟 + map)

思路:总之很搞笑了,比赛时看看就过了的题到最后竟然是暴力模拟。 看到的第一眼就感觉是用map将字符串和int做一个映射,然而由于对map,string的恐惧让我一直没有付诸行动。现在想想,策略还是得改进一下:先T再说。。。 就当成一个对map运用方法的复习吧。。 ps:vj的题目略坑啊,乱码显示的搞的我没注意到还能试减号。。。(拼命给自己找理由) ps:qp是quick_power,快速幂,

2017-02-17 21:31:02 121

原创 ACdream 1068 sgx和路飞 (构造/暴力+多样例坑)

坑点:暴力过什么鬼,先扔个官方题解, http://acdream.info/topic?tid=1125貌似是数位dp+二分。 我的方法是先构造出最小值,如果在区间里就直接输出,否则就在下限开始暴力,这里的暴力貌似会有一个界限不会让你便利太多数据。#include <iostream>#include <cstdio>#include <string.h>#include <queue>

2017-02-17 15:38:41 250

原创 ZOJ 3781 Paint the Grid Reloaded(缩点+bfs)

思路:将同一联通块的所有点缩成一个,然后连边。 之后再bfs,以每个点分别为起点进行bfs,取其中最大长度的最小值。#include <iostream>#include <cstdio>#include <string.h>#include <queue>#include <algorithm>#include <map>typedef long long int lli;using

2017-02-17 14:15:46 90

原创 ACdream 1008 A Very Easy Triangle Counting Game(找规律)

思路:如题#include <iostream>#include <cstdio>#include <string.h>#include <queue>#include <cmath>#include <algorithm>#include <map>typedef long long int lli;using namespace std;int a[7] = {0,0,0,1,8

2017-02-17 10:40:55 69

原创 ZOJ 3785 What day is that day? (数论 循环节)

思路:对于任意一个数N 我们都可以将之分解为 N = 7 * k + m, 所以 NN=(7∗k+m)N{N^{N} = (7*k + m)^{N}} 通过二项展开式,我们可以得到 mN{m^{N}} 由观察得到7作为一个质数,一定与N(除了7的倍数,但是如果这个数是7的倍数那么模完直接就为0了)互质,这样的话就满足了费马小定理的条件(p是质数,底数与p互质),所以有 mp−1=1(modp)

2017-02-16 10:52:58 335

原创 POJ 3512 Incidental Points

思路:1,分别以每个点为坐标原点,暴力找斜率一样的点的个数。自我提醒:#include <iostream>#include <cstdio>#include <string.h>#include <queue>#include <algorithm>#include <map>typedef long long int lli;using namespace std;char s[10

2017-02-15 17:59:05 98

转载 printf格式控制(转)

转,侵删。 %g是C语言printf()函数的一个输出格式类型,它表示以%f%e中较短的输出宽度输出单、双精度实数,在指数小于-4或者大于等于精度时使用%e格式  printf()输出格式类型说明:  输出类型       格式字符意义  a 浮点数、十六进制数字和p-计数法(C99)  A 浮点数、十六进制数字和p-计数法(C99)  c   输出单个字符  d

2017-02-15 14:08:47 253

原创 POJ 3507 Judging Olympia (格式控制)

注意:1,cout可以直接不输出无意义的0 2,%g是C语言printf()函数的一个输出格式类型,它表示以%f%e中较短的输出宽度输出单、双精度实数,在指数小于-4或者大于等于精度时使用%e格式(%g用于打印浮点型数据时,会去掉多余的零,至多保留六位有效数字(不同于%e的默认保留小数点后6位))#include <iostream>#include <cstdio>#include <str

2017-02-15 14:06:51 228

原创 POJ 3510 A Tale from the Dark Side of the Moon (读题死)

坑点:注意只要碰到EOF三个大写字母立刻就停止。#include <iostream>#include <cstdio>#include <string.h>#include <queue>#include <algorithm>typedef long long int lli;using namespace std;char s[100];int main(){ int le

2017-02-15 13:35:14 314

原创 POJ 3508 Hide That Number

思路:题意是将得到的数从左边开始删去位数,直到与最开始的数位数一样。 1)设原来的数是x,那么x*10 + x = 11x 所以通过枚举1-10来判断这个大数是否可以模开11。注意是枚举1到10,因为有可能出现进位导致的删去了两位。 2)如图 最后只要判断首位能否为0就行了。模拟大数取模#include <iostream>#include <cstdio>#include <stri

2017-02-15 13:19:38 409

原创 POJ 3723 Conscription (最大生成树 + 偏移)

思路:把男生或女生的编号向后偏移,就成了0 到 n+m的点之间的关系了。 然后题意是:凡是有关系的男女(没说只能有一对)都可以减免一些,然后直接kruskal就好。#include <iostream>#include <cstdio>#include <string.h>#include <queue>#include <algorithm>typedef long long int

2017-02-14 17:55:19 185

原创 UVA-673 Parentheses Balance (桟)

坑点:空串也符合条件,注意读入空串。#include <iostream>#include <cstdio>#include <string.h>using namespace std;char s[200];char stc[200];int main(){ int t; cin>>t; getchar(); int cnt = 0; while(t-

2017-02-14 14:52:04 59

原创 HDU 1052 Tian Ji -- The Horse Racing (贪心)

思路:1,注意平局,平局不是一个值得追求的状态。 2,先把两人的马按升序排序,然后从双方最小的马比起,如果田忌的能赢,那就赢下一盘,此时赢下来是最优的选择,如果是输,那么就用这个最慢的马去怼king的最快的马,反正也是输,那就尽量为之后的队友创造一些优势。然后就是平局,如果平了,那么就先暂时搁置最慢的这边,转而去看最快的马,此时又分三种情况,1)咱胜,那就直接怼 2)咱输,那就用最慢的那匹马怼一个

2017-02-14 14:40:31 228

原创 POJ 1062 昂贵的聘礼 (分段dijkstra)

思路:有题目可知最终1号一定要在交易链中,所有可以通过1号的等级来划分出一些等级区间。 现在假设1号等级为v,等级区间的差为m,那么我们可以知道最终结果一定在 [v−m,v+m]{ [ v-m,v+m ]} 中,但是不能直接用这个区间去判定,因为这个区间长度大于了m,所以我们从 [v−m,v]{[v-m,v]} 开始,for(int i = 0;i <= m;i++){ [v-m+i,v+

2017-02-14 14:19:23 218

空空如也

空空如也

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

TA关注的人

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