自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ONE_PIECE的专栏

Good good study

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

原创 CF581C用k去把n个数补成十的整数倍求最大

这题错的更是离谱,我想的好好的,然后代码敲上去,然后交了,竟然可以暂时通过,我也是醉了,而且过了20组数据,然后看了下我WA的代码,我cmp都写好了,竟然忘记sort一下了,一口鲜血吐出,加了一个sort分分钟AC,而且记得交之前我还看了下代码,竟然没发现我写的cmp没有用,这题就是先按照把每个数不成十的倍数需要的大小去排序,然后再从第一个数开始补,补齐的就加上这个补齐后的数字处于十,

2015-09-29 16:26:10 474

原创 CF581D三个矩形能否构成一个无空隙的正方形

这题又呵呵一次,自己脑子笨就讨论了所有情况,自己讨论了十种情况,貌似讨论的有点多,然后就乱了,讨论完就交了,结果终测挂了,仔细想了一下貌似把-1的情况的位置放错了,然后加了几个continue,把-1情况输出的位置换了一下就过了,还是做的少,WA的离谱。这题自己的代码写的即麻烦,又繁琐,应该是讨论的情况多了,毕竟怕错,就小心了一点,然而还是跪了,十种情况,三个长方向一致的情况,然后

2015-09-29 15:53:33 698

原创 hdu5491求二进制比一个数大的数

求d的最小增量,注意为0的特判,以及1的个数不能改变的情况,然后其他情况找到最小的位0的位置变成1,然后根据s1的大小去改变后面的1就行,具体的看代码:#include#include#include#include#include#include#include#include#include#include#include#include#define LL l

2015-09-27 17:23:44 949 2

原创 HDU5480象棋盘上有很多車,求一个矩形里面的棋子能否全部被車吃

呵呵,此次明明前两题很简单,然而以俩题全跪告终,第二题也是太急了,自以为后台数据不会全是大数据,就不会超时,就懒的简化时间了,然后就去做第三题,想了好久并没有做出来,然而前俩题全挂了,以后还是按照保底分来吧,身为渣渣不能想太多,这道题就是我的代码求个前缀和就行了。#include#include#include#include#include#include#include

2015-09-26 21:38:13 559

原创 HDU5479一串括号转化为没有非空字串是匹配的

这题,呵呵,做的太急了,别人上面的样例中明明给了)(是不匹配的,然而没有看见,硬是算成全部转化为)或者(,怪自己。#include#include#include#include#include#include#include#include#include#include#include#include#define LL long longusing namesp

2015-09-26 21:23:32 473

原创 HDU5478取模恒等式

这题刚开始自己推公式,推了好久并没有推出来,最后队友A的,据说是直接让n等于1,然后用快速幂去求a得幂,然后直接用c去减这个值就是b,然后再用50个不同的n值去验证,如果等式均成立,即使一对符合的值,个人不喜欢做这些感觉逻辑不是很严密的题,但是事实就是这样,往往有些题逻辑不会很严密的让你感觉绝对对,因为由于学术有限,很多东西我们是很难验证的,所以有时做题也需要猜想。贴上队友代码

2015-09-26 21:00:29 885

原创 HDU5475线段树定点更新

这题就是一个线段树的定点更新,把线段树节点初始值设为一,然后输入为一时逐个按顺序添加更新,输入为2时按照输入的y定点更新就行了,然后向上维护积值。#include#include#include#include#include#define LL long longusing namespace std;#define lson l, mid, root<<1#define

2015-09-26 18:54:25 1037

原创 UVA10344五个数从前往后进行加减乘运算能否得到23

这个题刚开始想着是加减运算,就想着去开个stack,然后进行递归调用,然后发现用stack做函数参数好像并不能得到正确的答案,然后就想了其他办法,就是把每次运算的结果作为第一个参数,把要用的下一个运算数在数组a中的下标作为另外一个参数,当第二个参数为6时,即运算完毕,然后判断是否为23就行了。#include#include#include#include#include#i

2015-09-25 17:15:10 474

原创 UVA301回溯法求坐火车问题的最大收益

这题站点最大为七,订单数为22,然后一开始就想着去按站点去进行搜索,然后写了n久,写不对,写残了,然后就去搜订单。当时脑子乱了,去随便去写搜索搜订单,最后写好交上去连着T了4发,最后稍微改了下竟然以2666ms的时间险过了,然后看了看别人交的时间,再没有比我的时间长的了,而且竟然还有一个19ms过的,实在很想看看别人19ms是怎么过的,然而别人的代码不开放,没办法了,但比我的时间少的代

2015-09-25 16:32:19 478

原创 UVA539dfs搜一条无重复边的最长道路

这题刚开始想的按点搜,结果代码写着写着发现写残了,然后就改成了按边搜,以每条边为起始边往深层去递归就行了,记得递归返回之后要还原就行了。#include#include#include#include#include#include#include#include#include#include#include#include#define LL long long

2015-09-24 22:16:36 478

原创 UVA639八皇后变形式之中国象棋盘上放車

这题数据最大只有4X4,很显然暴力回溯搜索就行了,刚开始自己想的是写一个递归,递归下标搜索,然后用一个临时的二维数组调用,但是失败了,函数貌似不能调用二维数组。但实际上应该直接递归结果即放置的車的个数,每当搜到一个可以放置車的位置,标记,往深层递归就行了,然后注意没有返回值但是有循环的递归,递归结束了相当于这个递归完成了,可以返回了,不要条件判断什么时候返回,所以这里注意返回到上一层后

2015-09-24 16:19:53 602

原创 UVA110模拟出Pascal的8个数字的排序代码插入式递归

这题刚开始没想到,实际上就是排序,一直注意神奇的Pascal代码,想找规律来着,然而并没有找到,但实际上自己想一下排序的实质是什么,就是一个一个的比较然后插入数组就可以了,然而这个题就是这样递归的,从小到大一直递归的最深层,然后从后往前一个数字一个数字的往前挪然后每挪一个数字再往下递归,递归到n就产生了一个不同的排列,就会产生不同的数组,实际上也是求排列的过程,然而当时并没有想到,然后

2015-09-23 22:24:39 455

原创 UVA592字符串推断题加暴力假设搜索

这题稍微有些复杂,当时想了很久没敢下手敲,主要还是代码能力不够,有了基本的思想不敢敲,而这道题实际上就是暴力搜索,因为只有五个人加上天气一共六个,直接假设就行了。这里用一个birth数组存储对话过程中曾经出现的人物。然后结果肯定是通过出现过的人物然后假设就行了。同时注意如果搜索的所有情况均不可行,说明对话有错误,即是第一种情况。此外有一种情况成立并不能说明什么,只有在所有情况下都成

2015-09-23 20:06:21 420

原创 HDU5459字符串斐波那契之递推

这题起初以为是一个找规律题,然后就各种打表找规律,然而最后发现并不能找到什么规律,其实是一个递推题目,主要就是看你能不能想到怎么取递推:题目所求所有C之间的距离,又因为相加的性质,两边的单独处理是不变的,每次拼接之后多出来的只是两边各一个的情况,有了点分治的味道。而左右两边的情况则不妨将这段距离差分成x,y两部分分开计算。对于左串来说,每一个C都要和右串所有的C进行一次配对,所计算的距

2015-09-21 19:37:13 977

原创 UVA146生成可重集的下一个排列

懒得写函数调用了,直接调用函数库多省劲。

2015-09-18 16:22:28 398

原创 UVA131德州扑克之枚举子集

这题就是一个德州扑克的题目,主要是代码写的比较繁琐,可能我写的又繁琐了一点,转化成十张牌之后然后枚举五的子集,然后从剩下五张牌,牌顶拿牌,这样操作一次,让自己的牌最大,这里我比较牌的大小的时候排了一下序便于判断顺子和同花,然后对子和炸弹什么的判断我写的稍微有些繁琐,不过我的思路是很简化的。#include#include#include#include#include#i

2015-09-17 20:02:31 498

原创 UVA11205子集生成的应用

这题题意不是很容易理解,但是实际上就是让你用最少的列数去表示n个数字,即让你找出最少的列数,使n行的这几列组成的01串没有任何俩个串完全相同。即是枚举子集。我这里把增量构造法,向量法以及二进制法三种的代码都敲了一遍。#include#include#include#include#include#include#include#include#include#incl

2015-09-16 20:14:34 456

原创 小白书隐式图搜索之八数码问题

这题也是一个隐式图的问题,bfs即可,既是简单bfs的结构体办,用一个二维数组去存储每次可到达的点的状态,这题既是一个二维数组去存储九个数的状态,另外记得要写初始化函数look_up_table()和判重函数insert(),(即简单那bfs中的vis数组),俩个条件均满足方可插入队列,由于要存储状态这里用数组去代替队列更容易,而且可以增加二维数组的第二维的维数用来存储距离或者父节点

2015-09-14 19:59:30 727

原创 小白书之隐式图的bfs

可以把三杯水各个时候的状态想象成一个点,能到达的点画一条有向边,这样就出现一个图,对这张图进行dfs,这里注意要用一个set去掉重复的状态,以免陷入死循环。同时这题用一个数组同时存储了三个杯子的状态并且顺带储存了父亲节点的状态,比较巧妙,但是好像一般bfs都是手写的队列,但是我习惯了用queue容器。#include#include#include#include#includ

2015-09-14 14:01:40 740

原创 小白书埃及分数之加深迭代搜索

首先说一下什么事加深迭代搜索:其实就是控制深度的dfs,至于这个深度控制在多少根据题来定。然后讲一下这个题。控制深度之后,枚举第k个分数然后dfs下去,第k个分数要确定上下界,上界即为a/b+1,下界首先要符合剩下的还有几个分数,然后不能超INT,具体的代码中查看,由于加深迭代搜索已经控制了题目中说的是分数数目最小,然后就是每次找到符合的,在某个第k项分数更小的话就更新an

2015-09-14 10:58:39 363

原创 小白书之最优程序

这题是一个隐式树的bfs,注意输入n对数,n对数公用同一个程序去计算结果,相当于一个程序同时去计算几对数,然后用一个二维数组存下每次计算的值,bfs的时候注意判断下一步需要所有对数都满足可以计算的条件才能加入队列,不过感觉他写的代码比较繁琐,而且bfs写的有些奇怪,自己不怎么想写,看了好久才看懂这个代码,主要理清俩点:1:同一个程序去计算所有的点对数,同时计算。2:每步计算要满足条

2015-09-13 21:23:26 541

原创 HDU5444排序二叉树的建立与查找

网上找的板子,改了下就过了,就T了一发,后来发现数组开小了,这我就郁闷了,数组开小了不应该是RE吗,怎么变成T了。#include #include #include using namespace std;typedef struct BiTNode{ int value; struct BiTNode *lchild,*rchild;}*BiTree;

2015-09-13 14:20:51 478

原创 HDU5438拓扑排序删点加DFS

类似拓扑排序:去掉无向图度数为一的点,并把和它相连的点的度数j

2015-09-13 14:17:08 831

原创 小白书之困难的串回溯

如果一个字符串包含俩个相邻的重复子串,则称它是“容易的串”,其他串称为"困难的串“,输入正整数N和L,输出由前L个字符组成的,字典序第k小的困难的串。我们只需要判断当前串的后缀,而非所有的子串是否满足条件即可.#include#include#include#include#include#include#include#include#include#include

2015-09-11 21:20:23 613 2

原创 小白书之回溯法求素数环

#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define LL long longusing namespace std;const int N=101;int A[

2015-09-11 20:14:30 500

原创 小白书之八皇后问题回溯法

恰好每行每列各放置一个皇后。如果用C[x】表示第x行皇后的列编号,则问题变成了全排列生成问题;不加剪枝,直接利用横纵坐标判断是否和法:#include#include#include#include#include#include#include#include#include#include#include#include#include#include#in

2015-09-11 19:42:38 337

原创 小白书之求无重复元素集合的子集

1:增量构造法:一次选出一个元素放到集合中。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define LL long longusing namespace st

2015-09-11 18:49:31 582

原创 小白书之求排列

生成1—n的排列:#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define LL long longusing namespace std;const int N=

2015-09-11 17:03:14 324

原创 小白书暴力之除法,最大乘积,分数拆分,双基回文数

除法;输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define LL

2015-09-09 11:19:24 635

原创 UVA196拓扑排序形式的搜索

这题从表面上来看是一个拓扑排序,然而实际上是一个搜索,起初看到这题行数是0~999,而列数是1~18278,然后感觉只输出都会超时,不敢写,后来发现别人写的列数都变成了1000,完全不知道怎么回事,也不明白怎么莫名其妙的变成了1000,然后就好写了,1000*1000个格子,建立一个G[1000*1000]的vector去存是公式的那个格子所有求出答案所需要的格子的下标,然后一个一个去

2015-09-08 11:32:19 397

原创 HDU5430欧拉函数求小于等于n的数中与n互质的数的数目

思路;欧拉函数即为第一个思路,至于欧拉函数的证明,弱渣渣表示不会,反正欧拉函数是求比n小的数中与n互质的数的数目。这题直接百度欧拉函数,复制粘贴上就过了。#include#include#include#include#include#include#include#include#includeusing namespace std;int eular(

2015-09-07 20:06:36 552

原创 HDU5429大数模板

这题直接套大数模板就行了,我硬是要写一发double试试,结果果断WA了n多发,最后还没过。也许是我修为太浅,不能找到double的正确AC姿势。而且发现一般这种题基本上都是考大数的,用double基本上过不了,除了一些特殊的题目。#include#include#include#include#include#include#include#include#include

2015-09-07 19:42:25 335

原创 HDU5428质因数分解变形式

这题当时一定是脑抽了,已经想到了是质因数分解之后的最小俩个质因数的相乘,竟然还写错,int以内的质数有很多,看来我是想多了。其实最简单的方法就是把每个数质因数分解之后加入vector中排个序即可,然后直接直到vector的个数,很简单。另外注意这题要用LL。#include#include#include#include#include#include#include

2015-09-07 18:26:21 574

原创 UVA10305拓扑排序

拓扑排序模板直接贴就行了:#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define LL long longusing namespace std;const int N=1e2+1

2015-09-05 21:17:27 345

原创 UVA10596欧拉回路加特判

这题呵呵了,一开始就是对的,搞了俩个小时才发现只是把特盘的Possible写成了possible,真的是呵呵了。#include#include#include#include#include#include#include#include#include#include#include#include#include#define LL long longusin

2015-09-05 18:34:03 470

原创 UVA10054欧拉回路

解释下什么事欧拉回路,欧拉回路就是欧拉道路的进化版,欧拉道路是存在俩个奇点,从一个奇点出发到另一个奇点,而欧拉回路是不存在奇点,从任意点出发最终一定会回到该点。无向图的欧拉回路判断和路径输出1.判断所有的点的度是否为偶数,如果有点不为偶数,则不存在欧拉回路2.满足1的条件下,判断所给的图是否连通,不连通也不是欧拉回路3.满足1和2的就是欧拉回路,然后dfs逆序输出路径,

2015-09-05 15:55:46 486

原创 UVA10129欧拉道路

先说一下什么是欧拉道路:从图的一个结点出发走出一条道路,每条边恰好经过一次。这样的路线称为欧拉道路,也可以形象的称为"一笔画"。原理:当然我不理解为什么是这个原理,也不会证明。不难发现:在欧拉道路中,进和出事对应的,除了起点和终点外,其他点的进出次数应该相等。换句话说,除了起点和终点外,其他点的度数应该是偶数。上述条件也是充分条件,如果一个无向图是连通的,且最多只有俩个奇点

2015-09-05 14:40:29 418

原创 UVA10047四维bfs

本来是小白书上面给的习题,神奇的变成了大白书上例题。其实就是一个四维的bfs,因为每个格子多了俩个状态,即方向和颜色,另外bfs搜索最短路的原理是根据搜到的下一个格子是上一个格子距离加一来算的,因为是宽搜,所以一旦搜到要到达的点,则那个点存的距离即使到那个点的最短距离,而这个题,当它在原本的格子里不动的时候即为一个状态,时间即加一,但是格子距离并不加一,所以和bfs搜索最短路的

2015-09-04 21:03:42 398

原创 UVA10557SPFA或者bfs+dfs

这题有俩种做法,第一种,也即是最容易理解的就是dfs+bfs.刚开始写的时候,dfs那里刚开始时直接处理了sum,让sum+a[tem]。然后一直调BUG不知道哪里错了,后来发现后面的俩个if语句处理的是有正环的情况和非环的情况,而这题可能会有负环,提前加了sum,显然是不对的。#include#include#include#include#include#

2015-09-04 14:31:27 446

原创 UVA532三维bfs

很简单的题目,把二维搜索改成三维就行,把方向改一下就可以了。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define LL long longusing namesp

2015-09-02 14:52:06 375

空空如也

空空如也

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

TA关注的人

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