Basic Algorithm
文章平均质量分 63
秋水忆秦谣
三更灯火五更鸡,正是男儿读书时。 黑发不知勤学早,白首方悔读书迟。
展开
-
HDU 4584 Building bridges
枚举。又是一期检测题。又是只能做水题。唉。为毛老是选这种邀请赛的题。枚举一下 H 点 和 C 点就行了。#include#include#include#include#include#include#include#include#include#include#include#define INF 0x7fffffff#define eps原创 2014-07-21 14:33:41 · 700 阅读 · 0 评论 -
POJ 1503 Integer Inquiry
高精度加法。水。给一长串的数字,加起来就好。#include#include#include#include#include#include#include#include#include#include#include#define INF 0x7fffffff#define eps 1e-6#define LL long long#defi原创 2014-08-13 09:01:10 · 619 阅读 · 0 评论 -
HDU 1106 排序
水题,注意细节。(懒癌……课又很无聊,等这个双休到了一起刷题吧。一个人坚持实在很累)对着电脑发了一下午的呆,游戏也不想玩,题也不想刷,也许是累了。最后觉得不能这样荒废,即使不想写什么难题,也要刷刷水题!如:00512312320507750 77 123123200051231232050770 77 12312320500512312320原创 2014-09-11 21:30:16 · 659 阅读 · 0 评论 -
HDU 4993 Revenge of ex-Euclid
Bestcoder 第九场的第一题,个人太水,只做了一道题。也不是扩展欧几里德。原创 2014-09-13 09:35:41 · 687 阅读 · 0 评论 -
HDU 1902 The Dragon of Loowater
大白书上第一题,贪心。排序后扫一遍即可。#include#include#include#include#include#include#include#include#include#include#include#define INF 0x7fffffff#define eps 1e-8#define LL long long#define原创 2014-09-16 14:35:51 · 1009 阅读 · 0 评论 -
HDU 1505 City Game
最大子矩阵,(City Game)SEERC 2004,LA 3029白书上的例题,看了两节课,终于理解了。DP的思想。扫描的时候维护 up朝上能有多少空格,left 最多朝左走到多少,right 朝右走到多少。所以只需要扫描一遍即可得出答案 = up*(right-left+1)我定义left数组的时候跟 iostream 冲突了。#inclu原创 2014-09-16 10:53:47 · 725 阅读 · 0 评论 -
HDU 1043 Eight
八数码问题。BFS+康托展开。康托用来判重。直接搜的的话会超时。需要预处理。我就用结构体存了一个状态。struct lx{ int can;//当前状态的康托展开 int pcan;//上一状态的康托展开 int k;//移动方向};把所有的 181442 种状态存下来。排序,然后二分搜索。迭代寻找上一状态,直到初始的 0 。原创 2014-09-16 17:18:33 · 666 阅读 · 0 评论 -
BestCoder Round #11 (Div. 2)
太菜,只能去Div2.(都做不完 ORZ。。。分别是 HDU: 5054 Alice and Bob5055 Bob and math problem5056 Boring count5057 Argestes and Sequence# 1001 碰面只能在坐标中间。所以判断一下就好了。#include#include原创 2014-09-28 21:25:15 · 1062 阅读 · 0 评论 -
HDU 2136 Largest prime factor
水题,晒一遍素数并标注就OK了。#include#include#include#include#include#include#include#include#include#include#include#include#include#define INF 0x7fffffff#define eps 1e-8#define LL long long原创 2014-10-23 10:59:48 · 606 阅读 · 0 评论 -
HDU 1432 Lining Up (POJ 1118)
枚举,枚举点 复杂度为n^3。还可以枚举边的,n*n*log(n)。POJ 1118 要判断0退出。#include#include#include#include#include#include#include#include#include#include#include#include#define INF原创 2014-10-31 09:44:40 · 953 阅读 · 0 评论 -
POJ 1852 Ants
理解题意就很简单。一条木棍上有很多蚂蚁,全都面朝木棍中间的位置爬行。两个相遇就都掉头爬行,这可以理解为两个蚂蚁互相之间没有干扰。(swap一下)。这样只需要找距离两头的距离就好了。#include#include#include#include#include#include#include#include#include#include#inc原创 2014-11-03 11:39:02 · 649 阅读 · 0 评论 -
HDU 1262 寻找素数对
懒癌犯了。筛一遍然后 随便朝一方原创 2014-10-22 09:17:36 · 489 阅读 · 0 评论 -
HDU 1431 素数回文
有人问我这个问题。个人感觉暴搜会TLE O(n*sqrt(n))。n=100000000;(判断素数用2~sqrt(n)+1 去除)还是枚举好了。枚举 1~10000,把他每一位存下来,回文数已知 left ,求 right ,然后组合起来。例如 1 ,判断 11 是否素数。例如 10 ,判断 101 是否素数, 判断 1001 是否素数。这样复杂度就是 O(n^2)。 开始我 bool pa[100000000] 准备用标记来确定。结果MLE。然后算了一下 总共有多少个数,最多 781 个。原创 2014-11-06 20:03:20 · 725 阅读 · 0 评论 -
POJ 2104 K-th Number
题意是说给出n个数。然后给出一个查询(left,right, k) 给在left 和right 之间的数排序之后 输出第k大的数。高级数据结构搞我完全不会啊。连线段树怎么做这道题都没有思路。只想到了一个排序然后找的办法,只要数据卡一下就过不了。。。以后学了其他方法一定要回来搞。#include#include#include#include#includ原创 2015-01-27 18:47:29 · 586 阅读 · 0 评论 -
第五届蓝桥杯C/C++本科B组(真题试做)(1~5)
菜鸡只能报个B组。于是报了第六届的本科B。就找了上届的本科B的题来做做。A:标题:啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一个整数。请通过浏览器提交答案。 不要书写任何多余的内容(例如:写了饮料的数量,添加说明文原创 2014-12-25 11:47:36 · 912 阅读 · 0 评论 -
第五届蓝桥杯C/C++本科B组(真题试做)(6~8)
终于考完……不过挂科的铁定的了。还是来做题吧。前面八道题做起来都很简单。F:标题:奇怪的分式 上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子原创 2014-12-31 20:53:26 · 911 阅读 · 0 评论 -
HDU 1042 N!
就是计算一个数的阶乘。0跟笔算一个样子。每一位用数组去存就好了。我的挫代码:500+ms#include#include#include#include#include#include#include#include#include#include#include#define INF 0x7fffffff#define eps 1e-8#def原创 2014-09-09 11:21:20 · 630 阅读 · 0 评论 -
HDU 1063 Exponentiation
跟POJ 1001 一样的题。不过数据很奇葩就是了。用POJ AC的程序提交过不了,于是重写了。注意:001200 0 =1001200 1 =12000.0000 2 =000000 1 =00000. 1 =0反正各种能想到的都试试就知道了。#include#include#include#include#incl原创 2014-09-05 11:05:27 · 630 阅读 · 0 评论 -
HDU 4300 Clairewd’s message
字符串模拟。给你一个26字母的转换表。然后给你一串密文+明文 的字符串,叫你解密,输出完整的密文+明文。明文可能不完整,直接从字符串一半开始枚举,直到 明文第一个转换后能和 密文第一个相等,然后比下去。这题被 >> 坑了许久,没注意>> 和 + 的优先级问题。输出的时候可以建立一个反转表。#include#include#includ原创 2014-07-14 17:05:38 · 808 阅读 · 0 评论 -
HDU 4343 Interval query
查询区间存在的间隔的最大值。排序,原创 2014-06-30 15:40:25 · 694 阅读 · 0 评论 -
POJ 1828 Monkeys' Prid
当初有人给我说这是线段树问题。突然发现智商捉鸡了。这不就是一个排序就可以解决的么。AC代码#include#include#include#includeusing namespace std;int n;struct lx{ int a,b;}l[50001];bool cmp(lx a,lx b){ if(a.a==b.a) return原创 2014-03-12 18:31:42 · 553 阅读 · 0 评论 -
POJ 2607 Fire Station
枚举+最短路问题。题意依然晦涩难懂。新建一个消防站n 可以使得所有交叉路口到最近的一个消防站的距离中最大值减小,且n 是满足条件的交叉路口序号中序号最小的。先每个消防站做SPFA。找到所有点 到最近消防站的 距离。然后枚举 每个不是消防站的点,找到距离这个点的最大距离。然后比对 最大是否更新了。ORZ的是,输入边的时候要EOF。简直……谁是出原创 2014-07-21 13:53:29 · 944 阅读 · 0 评论 -
HDU 1075 What Are You Talking About
字典树看题库上说这是字典树,不过被我水过去了。题意是说用对应的字典,翻译出火星文。each line will contain at most 3000 characters.看到这句话我就安心了。Time Limit: 10000/5000 MS (Java/Others)果断用map 来水了。还真AC了。3296MS 。本来是想巩固一下字典树的,不过……。原创 2014-07-07 14:25:34 · 654 阅读 · 0 评论 -
Vijos 1007 饶钉子的长绳子
给出钉子坐标 和钉子半径 求绕起来的绳子长度。其实就是所有钉子圆心组成的凸多边形的周长+一个半径为r的圆;AC代码:#include#include#include#include#includeusing namespace std;struct lx{ double x,y;}L[101];const double T=3.1415926;int mai原创 2014-03-07 12:43:28 · 907 阅读 · 0 评论 -
POJ 1065 Wooden Sticks
就是设置木棍。木棍有长度 l 和重量 w;按照 l 和 w 排序然后进行选择。贪心问题。排序函数:struct lx{ int a,b;}L[5001];bool cmpa(lx a,lx b){ if(a.a==b.a) return a.b>b.b; else return a.a>b.a;}POJ AC代码原创 2013-10-27 22:56:43 · 534 阅读 · 0 评论 -
POJ 1001 Exponentiation
就是小数的高精度冥。我是字符串输入。去掉前导0和后面的0;例如 3.0100用dian去记录小数点的位; 2用字符串tmp去存去掉小数点后,倒过来的数; 103然后用个tmp1去存 int型的 数; 301然后计算输出,最后注意小数点的位置。额。代码有点繁琐。不过AC了。#include#include#include#includeusing namesp原创 2013-11-29 14:15:45 · 595 阅读 · 0 评论 -
HDU 4334 Trouble
合并排序再枚举。题意问五个数组中各抽一个加起来 和是否为 0。开始想用 200*200*200 和 200*200 比。果然TLE了。后来知道 得 200*200,200*200 ,200 。先200*200 的枚举,排序,去重。然后三个元素加起来,微调 两个 200*200 的指针。这题用 %lld 就WA。得用 %I64d 。贡献N多TLE。原创 2014-07-22 21:19:04 · 576 阅读 · 0 评论 -
POJ 3522 Slim Span
最小生成树+枚举。题意是说在一个无向图的所有生成树中,选取最小“苗条”值的。“苗条”的定义是生成树中权值最大的边 减去 权值最小的边的 值。我的思路是 排序,然后从 0~m枚举。每次必然加入枚举的那一条边。然后 向其左右分别 选择边加入。直到构成生成树,不能就返回INF。其实我感觉我的代码有点问题,我没有比较左右当中谁更 接近 枚举的那条原创 2014-07-05 18:08:28 · 693 阅读 · 0 评论 -
POJ 2041 Unreliable Message
简单模拟。按照题意处理一下字符串即可。应该是写题号写错了,本来我在VirtualJudge是添加的POJ 并查集与生成树的题。#include#include#include#include#include#include#include#include#include#include#include#include#define INF 0原创 2014-07-04 08:21:35 · 736 阅读 · 0 评论 -
16进制转8进制
很有意思。开始没注意题直接 %X %o然后看到了“这个16进制的数长度不超过100000”,妥妥又是高精度问题。还有个错误就是把二进制左右反了,导致半天找不出错。然后就把二进制打出来,找到了。大体思路就是16->2->8 如 :F -> 1111 -> 17;FF ->1111 1111 -> 011 111 111-> 377贴上代码#include#i原创 2014-03-23 14:54:01 · 1329 阅读 · 0 评论 -
POJ 1700 Crossing River
贪心问题。先排序,然后 1 2 过去,1 回来,最大的两个过去,然后2回来,一次带过2个最大的。还有一种情况就是这样不划算,就直接过去。比较这两个大小然后选择。POJ AC代码:#include#include#includeusing namespace std;int main(){ int t; scanf("%d",&t); while原创 2013-10-31 18:59:31 · 552 阅读 · 0 评论 -
POJ 3750 小孩报数问题
本来想模拟一下。彻底晕了。然后队列干掉。出队到队头。一直到次数满,然后输出队尾的。一直到队空。然后也学习了一下string#include#include#include#include#include#include#includeusing namespace std;queueq;int main(){ int a,b,n; scan原创 2014-03-31 15:17:16 · 969 阅读 · 0 评论 -
POJ 1323 Game Prediction
纸牌游戏,M人每人N张牌。每轮如果有人能比你的牌更大,你就赢不了。如:2 51 7 2 10 9;总共 2*5=10张牌,你手里5张。当你10的时候,没有比你更大的。9的时候也是,其他时候都可能比你大。所以答案为2.不过输出的时候Case %d: %d\n居然这儿总共2个空格。害我PE一次。POJ AC代码#include#include#i原创 2013-10-28 09:13:27 · 555 阅读 · 0 评论 -
BestCoder Round #39
1001 Delete我是直接统计一下,某个数出现了多少次。然后出现了多少个数。然后贪心。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define INF 0x7fffffff#原创 2015-04-26 22:17:01 · 426 阅读 · 0 评论