自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 uva10976

这个,枚举到2n就可以了,其实还有一些小技巧,自己看吧#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;void cal(double k){ int n = 0; for(double i = k + 1 ; i <= k * 2 ; i++)

2016-09-30 21:43:49 190

原创 uva725division

为祖国母亲庆生,这几天不去玩了,多写题! 心路历程这个题吧,主要是我一开始读题的问题,我一开始以为是任意的数字来做,后来发现不是,得是0~9都出现一次,然后就是这么回事,一个一个去枚举,从1234,到50000,但是有个坑一个是输出,最后一行不能有换行,必须是开始的时候换行,还有就是如果i*n>98765的时候应该return false,然后就基本就行了。#include<cstdio>#in

2016-09-30 20:32:55 256

原创 set用法

#include<set>set<LL>s;//定义集合s.insert(1);//插入!s.count(x2);//看有还是没有这个集合

2016-09-28 22:28:07 229

原创 丑数

这个主要是一些奇奇怪怪的用法,然后就是这么回事,丑数*2,3,5还是丑数,然后就是这么回事,每次取最小的丑数,*2,3,5还有就是需要用set记录一下是否出现过#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<queue>#include<set>using namespace std;

2016-09-28 22:26:15 186

原创 hdu5904

这个题吧,水dp,但是我dp真的不好,现在学的好费劲。。。 就是令刚输进来的数为结尾,然后看他 dp1[a[i]] = max(dp1[a[i]] , dp1[a[i] - 1] + 1);就行了,最后再来一发枚举就行了,但是要注意啊,那个dp【-1】是有可能越界的,所以就,注意一下哈。。。#include<cstdio>#include<cstring>#include<algorithm>

2016-09-28 20:43:26 288

原创 uva11134贪心加优先队列

这个题吧,看着是第一章的,但是也不简单,你要把两个给他分开,横坐标和纵坐标分开计算,然后就是这么回事,然后从区间的左端点开始排序,然后当左端点一样时候,再用右端点进行排序,这个用优先队列进来存。然后就是如果左端点已经小于当前值,那么就需要更新当前左端点,然后加入队列,再来一发。#include<cstdio>#include<cstring>#include<algorithm>#includ

2016-09-28 19:43:08 261

转载 优先队列基本用法

优先队列:顾名思义,首先它是一个队列,但是它强调了“优先”二字,所以,已经不能算是一般意义上的队列了,它的“优先”意指取队首元素时,有一定的选择性,即根据元素的属性选择某一项值最优的出队~百度百科上这样描述的:  优先级队列 是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素  优先队列的类定义    优先队列是0个或多个元素的集合,每个元素都有一个优先权或值,对优先

2016-09-28 18:42:04 843

原创 uva10905孩子们的游戏

这个怎么说呢?我一开始没有想到,一开始想是不是用什么mol之类的,但是好像很复杂的要去一个一个的判断,感觉挺难的,后来吧,看了别人写的才知道这么简单,直接用string+sort一下就行了!!!!诶!!!!真他妈的操蛋。。。。 还有记得用string,只能用cin和cout,还有就是这么回事,因为你不知道字符串有多长,所以sort的时候只能用string#include<cstdio>#incl

2016-09-27 21:20:26 364

原创 HYSBZ 1293尺取法

这是一个比较操蛋的尺取法。反正我是这么觉得的 怎么说呢?这个其实我写不出来,代码能力还不行。安神说!其实,只要保证思维量就行!!!加油!#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;const int MaxN = 1e6 + 10;int n , k , vi

2016-09-26 23:00:05 327

原创 2016facebook入门题c

尺取法,这个一直不得要领,最近才得到。。。。 就是先取一个区间,刚好大于的,然后再减去左边的,再加上这个各种之类的。#include<cstdio>#include<algorithm>#include<cstring>using namespace std;typedef long long LL;const int MaxN = 1e5 + 10;int a[MaxN];int ma

2016-09-26 22:21:34 257

原创 codeforces round#373

a 坑你要看他1的时候,如果不是0,15的话。。。。gg 然后不是的话,你要看看是不是那个0和15,然后最后看那个倒数第二个和倒数第一个的关系。就得出了 然后坑那个就是如果是互斥的话,一定要else if不然的话,很容易就gg我就gg了,然后比赛的时候就挂掉了 #include<cstdio>#include<algorithm>#include<cmath>using namespac

2016-09-24 22:57:33 208

转载 大素数模板

如果不会,沈阳网络赛基本就gg了,但是那个论文题,我其实还是没有读懂,那是个codeforces的f题,但是,,,,,,真的还是没有读懂。。。我看网络上也没有人读懂。还是留着珍藏吧 题意 求区间[1,N]的质数的个数(1≤N≤1e11)第一个哈 复杂度大概O(n^(3/4))#include<iostream>#include<algorithm>#include<cstdio>#de

2016-09-22 22:26:33 323

原创 hdu5777

这个吧就是xjb乱搞,不停地和他搞来搞去搞来搞去,搞出来一波事情,然后就是来干。就是这么回事。 说一下哈这么回事,明显排序加贪心,首先,牌子都是1,都加上,然后就是那个远,就用1给他代替,但是代替的个数不能超过所给的个数#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std

2016-09-22 21:53:00 311

原创 hdu5776

这个就是维护一个前缀和,让前面的和molm然后,如果有相同的值出现,那就可以,但是还有一坑点,我就是这个被坑了,当vis[]=0的时候,不用判相同,一开始就要赋值给vis[0] = 1;就行了#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int MaxN = 1e5 + 10;int

2016-09-22 21:41:31 343

原创 拓展欧几里得模板

求出A,B的最大公因数,且求出X,Y满足AX+BY= GCD(A,B) 输入:a,b两个整数 &x,&y 输出:a和b的最大公约数 调用后的x,y满足ax+by=GCD(a,b)int ex_gcd(int a , int b , int &x , int &y){ if(b == 0){ x = 1;y = 0; return

2016-09-21 22:28:24 195

原创 hdu5805&hdu5806

这是以前bc的两道题,还是有很多坑点的 这提醒我们要多考虑考虑几种情况还有就是需要多想想别的事情。 5805 思路这个就是看能不能组成4变形,但是,可能会爆longlong还有可能一条边为0,这他们是真的坑。一般人真想不到。#include<cstdio>#include<algorithm>#include<cmath>#include<iostream>using namespac

2016-09-21 19:17:33 229

原创 hdu5881

这个倒水的,主要是当时没找好规律,而且也是后期了,其实我感觉这题其实是可以出的,但是,诶~ 这个我觉得没xjb猜出来的原因主要是没有多写几个,如果多写几个的话一定能找到规律的。然后就是这么回事 0,1为上限的时候就是0,还有就是然后很多一般的规律的就是(l+1)/2,然后就是这么回事,你应该一次加2,还有需要特判的就是当l == 0的时候,你吧,应该从零开始,规律吧,你就那个多写几个,然后归纳就

2016-09-17 22:29:06 528

原创 hdu5878 我能23

题意找一个数n,找比n大的而且是2a3b5c6d的最小值题解就是预处理,然后二分 注意个事,及时break要不然程序会出错,#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;//typedef long long LL;const int Max = 1e9;lon

2016-09-17 21:44:07 652

原创 hdu5879

这个题吧,怎么说呢?一开始没读懂,这是个签到,他那个输入是1M我以为总共文件是1M没想到是我太年轻,其实应该用字符串读入,然后就是极大的时候比如1e6以上就是和1e6一样了,然后就可以了#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;const int N = 1e6

2016-09-17 20:22:12 466

原创 uva11549计算机谜题

这个就是这么回事啊:那个,你就是找循环节中最大的那个就行了。。。 然后就是这么回事啦,还有就是注意,如果k*k爆了int要把其中一个转long long ,#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int buf[110];int next(int n, in

2016-09-16 21:44:30 379

原创 uvalive11462

这个题吧,主要是卡你sort不了,只能读进来,那么这时候就应该这样,记录每一个数字出现的次数,然后再用依次,用次数,来输出他们,注意格式,pe了好几发。。。好尴尬。。。#include<cstdio>#include<algorithm>#include<cstring>using namespace std;int c[110];int main(){ int n; wh

2016-09-16 14:55:06 166

原创 分数二分模板

分数二分。。。。。#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;bool ok(double area){}int main(){ int t; scanf("%d", &t); while(t--){ double l

2016-09-16 14:12:20 299

原创 uvalive3635pie

分数二分。。。模板题,二分一个答案#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const double pi = acos(-1.0);const int MaxN = 10005;int f , n;double pie[MaxN];bool ok(dou

2016-09-16 14:10:17 182

原创 二分模板

自己的二分模板,以后写二分就用这个模板,再也不换了#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;typedef long long LL;LL ans = -1 , m;bool check(LL mid)int main(){ scanf("%I6

2016-09-16 09:51:20 190

原创 codeforces689c

二分答案,这个问题其实就是 该题的关键点在于验证mid的check(n)函数,每组四元组中最大的是a*k*k*k,其小于n,所以k的三次方小于n,而在乘数为k时满足条件四元组的个数即为n/(k*k*k)即确定了k第一个小偷偷的个数决定不同的头 第一次正经练习二分。。。。早就该练了,诶~~~今天偷懒的半小时。。。不能再偷懒了#include<cstdio>#include<algorithm>#

2016-09-16 09:48:14 377

原创 spfa模板

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int MaxN = 1e6;int dis[MaxN + 5] , m , n , a[MaxN + 5] , Inque[MaxN + 5] ,seq[MaxN + 5];int all , pre[MaxN + 5] , oth

2016-09-15 22:42:14 334

原创 codeforces689b

spfa模板题 给定一张图,有n个节点(1<=n<=200000),任意两个节点的距离为这两点的序号之差绝对值。且每个点都会有一个捷径,通过该捷径到达对应点的代价为1,求每个点到点1的最小距离。 妥妥最短路#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int MaxN =

2016-09-15 22:39:50 378

原创 codeforces689a

这个就是给你个电话表,然后就是,输入数字阵,看看相同手势能不能输入其他的数字。 codeforces做的第一道题第二次做还是做错了。。。。QAQ好伤心,然后就是,看四个方向移动,能不能合理,合理就行。还有就是,当是0的时候左右是不能动的,要考虑,考虑还是不周全。还好后来debug给de出来了,开心!!!当然最开心的是我女神好像喜欢我了耶~~~#include<cstdio>#include<cs

2016-09-15 21:15:12 299

原创 codeforces round 371div2

a mdzz第一次竟然错了,这个如果牛逼的话就用两个集合的覆盖,(看别人的)然后自己的就是分成5中情况来讨论,来了一发,然后就过了 五种情况讨论结果#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;typedef long long LL;int main(){

2016-09-15 14:44:26 171

原创 codeforces round#370 div2

a 就是,你看最后那个数,一定是没有变化的,然后后一个加上前一个,就是本身的数。#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int MaxN = 1e5 + 10;int a[MaxN] , b[MaxN];int main(){ in

2016-09-15 09:47:20 181

原创 URAL1095

题意给你N个正整数,它们都含有数码1、2、3、4,不超过20位,要求你调整每个正整数中数字的顺序,使它能被7整除。 暴力:妥妥tle 然后就是,可以构造这个东西,你就安排前面几位,然后最后mol%7,有7个数,0 ,1 ,2, 3, 4, 5 ,6, 然后用1,2,3,4构造出来7个数,来填补他们就行了,别忘了用(x % n + i)%n = (10*x + i)%n然后就行了 我是用的412

2016-09-15 09:07:48 237

原创 字典树模板

这个,某人经常用qq查询系统的字典树来查我的号,。。。。。也是醉了。。。。。真的有点无聊#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const int MaxN = 1e5;struct TRIE { int

2016-09-14 22:00:40 169

原创 hdu5573 binary tree

这个题吧,就是这么回事,那个二叉树来排序,把数字按自然数的顺序来放进去,根节点是1 ,然后从根节点开始依次向下走k层,问如何走使得将路径上的数进行加减最终结果得到n。题解你可以就从最左边的2进制来走,然后如果出现了偶数的话,就可以在最后面点的右端点,然后就是,偶数(1<

2016-09-14 21:46:58 295

原创 Facebook Hacker Cup 2016 Qualification Round第一题

这个,题意就是,给一个图,让你找,两条线段的端点是一个,并且长度相同,这个为一组,然后就是找,有多少组这样的星系 题解这个就事这么回事,依次找距离,然后排序,排序就是找相同的距离的有cnt个,然后(cnt-1)*cnt就是得数,关键在于想到用排序,我一开始想的是map,但是不行。。。。。 会tle 最近好久没有刷题了,因为数学建模,希望我有一天能有足够的能力来拥抱爱我和我爱的人#include

2016-09-14 20:40:00 353

原创 uva11300分金币

这个题吧,还是有点难的,那个就是个递推 题意: n个人围成一圈,每个人都有一些硬币,,每个人只能给左右相邻的人硬币,问最少交换几个硬币,使每个人硬币一样多;思路:首先要求出平均数M,每个人的硬币为numi;那么对于1,他能给予4号x1个硬币,并从2号出得到x2个硬币,那么对于1可得numi - x1 + x2 = M; 同理可得numn-xn+x1 = M 就能得到: x2 =x1-C1

2016-09-05 20:54:00 233

原创 uva6627更改立法的第一天

这个怎么回事呢?题意就是,以前有个low的立法,每4年算一个闰年,新的历法就是其他的不变,然后能被100整除但是不能被400整除的就不能算闰年。给你了一个标准的,比如1582年10月4日,应该变到1582年10月15日,问他之后的天数如果变历法,那么变法的第一天的天数应该是什么? 题解有一下坑点1。只有1700,1800,类似的算比正常多加1天 2.还有就是如果当年是1700,1800类似的,如

2016-09-05 19:14:50 148

原创 uvalive6628

给你ac的距离,给你bd的距离,给你ab的距离,然后求at的距离,记住要约分。用辗转相除法#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int gcd(int x , int y){ if(x == 0) return y; if(y == 0)

2016-09-05 16:22:24 174

原创 uva6623

这个题,就是给你一些点,点有值,然后就是给你连边,找到每个点互相相连的点阵,找最大的点阵。然后点与点之间连线不能交叉 4个点是极限不能超过4个点。然后就是来一波dfs。#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;const int INF = 0x3f3f3f3

2016-09-05 16:02:49 169

原创 HYSBZ 4551树

那个就是,一开始要dfs一遍,把那个给每个点的深度,要记录一下,然后就是来像普通的线段树一样建树,更新,查找,就这样就行了。这会写的是左闭右开。#include<cstdio>#include<algorithm>#include<cstring>using namespace std;typedef long long LL;const int MaxN = 1e5;int n , m

2016-09-04 11:28:20 182

原创 uva11384帮助DEXTER

今天打毛子的比赛,被打成了狗,来写几个刘汝佳找找自信! 题意就是给你1~n的序列,然后可以同时挑选几个数减去x,问最快几次能减到0.输入是n 题解就是这么回事那个,你看啊,f(5) = 1,2,3,4,5. = f(2) +1 相当于这种情况第三第四第五同时减去3,12012.然后就妥妥的了。#include<cstdio>#include<algorithm>#include<cstri

2016-09-03 19:43:13 246

空空如也

空空如也

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

TA关注的人

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