————基本算法————
eIectron
优美的代码是成功AC的第一步。看着那么多博客不再更新,这就是我几年后的状态吗?要是走了就再也不回来了。
展开
-
CF 363.div2 C. Vacations
C. Vacationstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputVasya has n days of vacations! So he decided to improve h原创 2016-07-20 16:25:53 · 226 阅读 · 0 评论 -
CodeFroces 363 div2 A. Launch of Collider(水题不水/(ㄒoㄒ)/~~)
A. Launch of Collidertime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThere will be a launch of a new, powerful and u原创 2016-07-20 10:09:16 · 447 阅读 · 0 评论 -
六个循环暴力搜索—寻找矩形
A - OrchestraTime Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uDescriptionPaul is at the orchestra. The string section is arranged in an r × c rectangular gr原创 2016-04-06 22:43:53 · 1015 阅读 · 0 评论 -
CodeFroce 369div2 B - Chris and Magic Square
B. Chris and Magic Squaretime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputZS the Coder and Chris the Baboon原创 2016-08-30 12:12:10 · 325 阅读 · 0 评论 -
POJ1753 Flip Game(翻转问题且纯枚举暴力翻转)
Flip GameTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 40726 Accepted: 17687DescriptionFlip game is played on a rectangular 4x4 field with two-sided原创 2016-09-15 17:35:55 · 648 阅读 · 0 评论 -
POJ2965 The Pilots Brothers' refrigerator(又是翻转问题)
翻转啊翻转The Pilots Brothers' refrigeratorTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 24476 Accepted: 9441 Special JudgeDescriptionThe gam原创 2016-09-25 15:47:10 · 291 阅读 · 0 评论 -
2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest A. Toda 2
A. Toda 2time limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputA group of n friends enjoys playing popular video原创 2016-10-25 11:20:25 · 1005 阅读 · 0 评论 -
POJ3295Tautology(构造法)
TautologyTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 12088 Accepted: 4608DescriptionWFF 'N PROOF is a logic game played with dice. Each die has si原创 2016-10-02 17:21:48 · 1695 阅读 · 0 评论 -
HDOJ5907(BC上分之旅却死在了水题上)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5907题目大意就是说,给定一个字符串,找出里面q连续的地方,得到一个数,比如样例quailtyqqq第一个q只有自己一个,那么就只有一种排列方式,到了后面的qqq,排列方式就有六种了,单独q排一次,三种,每相邻的两个q排一次,那就是两次,再来就是三个q一起排,又是一次原创 2016-10-02 17:32:54 · 370 阅读 · 0 评论 -
HDU5610Baby Ming and Weight lifting(庆祝自己当年BC第一题过了)
http://acm.hdu.edu.cn/showproblem.php?pid=5610hdu上的题目依然不能复制过来的,但是文章这么空总感觉好奇怪。题目就是说,给出三个数字a,b,C,a和b是barbell disks,也就是举重那些左右两边的磅,C就是要求最后靠着这两种barbell disks合起来要达到的重量。这题并不难,当年却是死活想不出来那种。首先,C如果是奇数,那原创 2016-10-30 00:48:48 · 267 阅读 · 0 评论 -
CodeFroces342 C. Cupboard and Balloons
successfulTime Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmit Status Practice CodeForces 342C DescriptionA girl named Xenia has a cupboard t原创 2016-11-28 13:17:48 · 340 阅读 · 0 评论 -
Codefroces246B Increase and Decrease
DescriptionPolycarpus has an array, consisting of n integers a1, a2, ..., an. Polycarpus likes it when numbers in an array match. That's why he wants the array to have as many equal numbers as原创 2016-11-21 13:04:15 · 340 阅读 · 0 评论 -
Codefroces194A Exams
H - ExamsTime Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmit Status Practice CodeForces 194A DescriptionOne day the Codeforces round author原创 2016-11-21 13:12:52 · 514 阅读 · 0 评论 -
Codeforces285C Building Permutation
Building PermutationTime Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmit Status Practice CodeForces 285C DescriptionPermutation p is an order原创 2016-11-23 23:47:31 · 511 阅读 · 0 评论 -
CodeFroces 766B Mahmoud and a Triangle
题意:给出n条线段,求是否存在可以组成三角形的三条边解:保证两边之和大于第三边即可,排序后遍历整个数组,只需看最接近的三条线段即可,如果最接近的三条线段都不成立,那么其他必定不成立。即若a[i] + a[i + 1] 代码:#includeusing namespace std;int a[100005];int main(){ int n; bool flag = 0;原创 2017-02-08 05:10:12 · 284 阅读 · 0 评论 -
UVA 136 丑数
题目意思就是,除了2,3,5,不能被其他素数整除的数称为丑数。求出第1500个丑数。这道题是紫书上STL的一道题,但是我并没有用到STL,不过也一样。分析,1,2,3,4,5,6,8,9,10,12……这些都是丑数。首先,我可以求出很多素数,然后暴力一下看看,我以为第1500个数字应该不是很大,但是我错了。。。所以要换一种思路,我们的思路是,不引入其他素数。素数的定义是,除了1和本身,原创 2017-02-18 10:07:01 · 278 阅读 · 0 评论 -
UVA 400 Unix is 命令
题意:给出n个文件名,排序后左对齐输出,并且假设最长的字符串是M个字符,那么除了最右边那一列,每一列都是M + 2 个字符,最右列为M个字符。题目规定每一行60个字符。解法:先读入,然后记录下最长的字符数,然后算出每一行应该输出几个单词。只不过他这个顺序是竖着的,所以我们稍微xjb搞一下就好了。然后就是没有自动帮忙补齐空字符的库函数,要自己写。代码如下:#includeusing n原创 2017-02-18 10:17:34 · 451 阅读 · 1 评论 -
Codefroces 750C New Year and Rating
Every Codeforces user has rating, described with one integer, possibly negative or zero. Users are divided into two divisions. The first division is for users with rating 1900 or higher. Those with ra原创 2017-01-27 03:18:31 · 501 阅读 · 0 评论 -
HDU 6012 Lotus and Horticulture
这道题目是BC的B题,当时真的是一脸懵逼,这啥东西。但是后来看了看dalao的代码,发现还是不理解。后来,才想起dalao做题时候说的一句话,这个温度区间,是左闭右开的。我!@#¥%……&*(&……¥%这样就很好搞了,因为是左闭右开,那么你把最佳温度的右边加一就好了,这样就已经包括到所有实数这个范围了。按照出题人的题解,你把范围扩大一倍也是可以的,效果一样,//扩大三倍都没问题,反正就是这个意原创 2017-01-26 11:41:31 · 327 阅读 · 0 评论 -
UESTC 1339 郭大侠与线上游戏
题目地址 http://acm.uestc.edu.cn/#/problem/show/1339这道题,是求中位数,以前也有一道中位数的题目卡的我要死,这次这道题我依旧没有办法自己做出来,找了题解才明白怎么做,但是现在才开始分析为什么要这样做。我一开始的想法很简单,直接用一个vector来模拟这题目,但是排序很耗费时间,一共一百万组操作,我就假设我里面五十万个数字,然后一直快排,就达到3原创 2017-03-11 14:21:53 · 312 阅读 · 0 评论 -
L2 - 015 互评成绩
果然手速赛,上一年就没做到这道题,前面一直卡着,还是太菜。。。但是真的好简单。代码:#includeusing namespace std;int main(){ int n,k,m,a[15],sum; double goal[10005]; cin >> n >> k >> m; for(int i = 0; i < n; i++) { sum = 0; fo原创 2017-03-12 17:22:34 · 397 阅读 · 0 评论 -
2017 蓝桥杯省赛c/c++ B组 K区间和
读入n和k,然后有n个连续的数字,求有多少个区间对k取余为0例子:5 212345那么我们输出:6区间有,(1,2,3),(1,2,3,4,5),(2),(2,3,4,5),(3,4,5),(4)。范围:n ,k 首先我是用前缀和n^2暴力过去骗分的。。。然后大神给我讲了一种O(n)的方法。。。首先,我们算出前缀和%k,那么上面就变成1,1,0,原创 2017-04-08 18:27:12 · 819 阅读 · 0 评论 -
UVA 725 Division
因为这个蓝翔杯,我发现我暴力还是太差了,所以决定开始把紫书上的暴力都做一做。这道题,不可能枚举十个数字,我们知道了n,枚举除数,得到被除数,验证一下即可。坑的地方在于,他要求两个输出之间有空格,但是又不是指每个输出后面都有空格,解决方法就是,先定义一个k=0,进入循环后判断k,这样就可以跳过第一次输出空格,后面只要在进入循环就说明前面有个样例已经输出答案,然后输出空行。#inc原创 2017-04-09 10:56:54 · 161 阅读 · 0 评论 -
UVA 11059 Maximum Product
这道题目由于n很小,直接枚举区间,需要的是起点和终点,然后再用一个循环得到这个区间的乘积。所以复杂度是O(n^3)。需要注意的是,由于n最大为18,s最大为10,所以乘起来最大可以达到10^18,会爆int,用long long即可。还需要注意的是,如果乘积不是正数,就输出0。特判一下n == 1 && a[i] 代码如下:#includeusing namespace std;原创 2017-04-09 11:51:21 · 195 阅读 · 0 评论 -
UVA 10976 Fractions Again?!
这道题实在是太可怕了,我一直卡着精度过不去。后来看了大神的代码才明白是怎么一回事。题目给出一个数字k,求所有符合1/k=1/x + 1/y的等式。我们枚举y,从2k到k这段,查看是否有x符合即可。我一开始是判断得到的x是否为整数,但是这实在是不好判断,你需要去判断x和x+1,因为有可能得到的x是2.99999,那么取整数就变成了2,所以我们还需要判断3是否成立。然后一直卡精度?反正原创 2017-04-10 19:02:26 · 253 阅读 · 0 评论 -
UVA 524 Prime Ring Problem
题目要求组成一个素数环,相邻两个相加为素数。按照字典序输出可行的方案。数据最大是16,显而易见,组成素数环的要求十分苛刻,我们直接手动把可能用到的素数打出来,就是2 ,3 ……31,然后开始dfs去跑这1 - n,如果不符合条件就回溯,这样会大大减少运算量。从最初的16!降低了多少我也说不清楚,反正1s就能把1 - 16的素数环跑完了,比16还小的n更加不在话下。代码如下:#inclu原创 2017-04-10 22:04:13 · 232 阅读 · 0 评论 -
UVA 129 Krypton Factor
我实在是想不到怎么写比较好,我决定敲个暴力看一看,没想到就过了。而判断加入一个字母后是否会导致和前面的重复直接暴力看就好了,最多是80个字符,那么暴力的次数为40 + 39 + …… + 1 = 820,也不多。。。然后就是不断递归的过程了。代码如下:#includeusing namespace std;int n, l;int a[10005];bool Check(int x原创 2017-04-11 16:45:11 · 226 阅读 · 0 评论 -
L3-013. 非常弹的球
CCCC天梯赛2017大区赛的L3-1。当时太蠢了,现在慢慢理清楚了。当时我xjb乱搞骗了21分,现在想起来也是不堪回首。首先,我们就直接说好出射角45°就是路程最大的这个结论,围绕这个结论,我们有1,把速度分解为Vx和Vy,Vx和Vy都是V的 sqrt(2)/2,而E = m * V² / 2,所以Vx和Vy已知。2,由速度公式,Vt = V0 + a t可得,t = V0 /原创 2017-04-02 14:29:31 · 689 阅读 · 0 评论 -
2017广东工业大学 校赛H题tmk买礼物
Problem H: tmk买礼物Description今天是校赛的日子,为了庆祝这么喜庆的日子,TMK打算买些礼物给女票LSH庆祝一下。TMK进入了雪梨超市,然后刚踏入的一瞬间,店主就对TMK说:“恭喜你成为了本店第2147483647位顾客,本店在搞一个活动,对本店第2147483647位顾客进行赠送活动。你先看看你有多少钱?”TMK一摸口袋,发原创 2017-04-04 14:49:21 · 429 阅读 · 0 评论 -
HDU 5373 The shortest problem
http://acm.hdu.edu.cn/showproblem.php?pid=5373这道题并不难,你要做的就是把一开始n的每位的权值加起来,然后不断去维护这个权值。可以预料的是,由于n为1e4,t为1e5,重复计算的时候权值并不会超出int范围,毕竟你每个权值加起来想达到21亿,假设全部位数权值都是9,那也要2亿位了。代码如下:#includeusing namespac原创 2017-05-02 10:06:16 · 214 阅读 · 0 评论 -
POJ 3617 Best Cow Line(贪心)
题目链接:http://poj.org/problem?id=3617刷挑战的贪心部分的路上,发现自己学了一年啥也不会。。。贪心的单调性和大致证明我都做不到。。。来说这道题,这道题,贪心是显然的,如果头和尾的字母不一样,那么肯定是选择字母较小的那个放入答案中。但是,难点在于,如果他们是一样的呢?我想了几种解决方案。1,直接取头(or尾)的那个,但是这样显然是错误的,样例都跑不过去。原创 2017-05-23 13:22:45 · 289 阅读 · 0 评论 -
POJ 3069 Saruman's Army(贪心)
题目链接:http://poj.org/problem?id=3069这道题目贪心思路很简单,既然要保证每个点在R的范围内有标记的点,我们先sort一下他们的坐标,然后从小到大开始,令取出来的坐标x,找到一个点xi xi2继续重复这部分即可。代码如下:#include#includeusing namespace std;int main(){ int r, n, index,原创 2017-05-23 14:25:55 · 197 阅读 · 0 评论 -
CodeFroces 810A Straight «A»
http://codeforces.com/problemset/problem/810/A这道题说难不难,说容易也不算很好搞。。。反正就是给出一个mark,你要用最少的次数去达到这个mark,而且你每次加的分数也不能大于这个mark,所以就有hint里面的样例解释。只需要达到mark-0.5即可,这样就可以四舍五入了。浮点数总是不靠谱的,所以我们还是用整数吧。我们直接把k扩大十倍,读入个原创 2017-05-23 16:57:07 · 236 阅读 · 0 评论 -
HDU 5328 Problem Killer
这道题写了几个小时,一直T,有两方面原因1,这题目时限卡的很紧,多一个常数都不行,这实在是太无聊了。2,自己太蠢了,这道题目虽然没有说明n>=1,但是自己应该猜到,我把读入第一个数字放在了if(n==1)后面,导致了一直TLE,因为你下一个读入读n的时候就会读到这个序列的第一个数字,使得整个数据没有读完然后就出不来结果。代码如下:#include#include#include原创 2017-05-04 14:23:18 · 261 阅读 · 0 评论 -
HDU 5327 Olympiad
这道题一看,就觉得,如果直接暴力好像有点悬。想了一下,突然发现T很大,那么我就先打表然后O(1)输出即可。#includeusing namespace std;int cnt[100005];void init(){ int c = 0; bool vst[15], flag; for(int i = 1; i <= 100000; i++) { int j = i;原创 2017-05-04 14:25:34 · 235 阅读 · 0 评论 -
CodeFroces 810B Summer sell-off
http://codeforces.com/problemset/problem/810/B题目大意,你当n天的售货员,你有f天有使得当天售卖衣服数量翻倍的权利,每个客人来只会买走一件衣服。问,你可以售卖的最大衣服数量是多少。我们直接把每天如果衣服翻倍的增益给排序,然后选出前f个即可。代码如下:#includeusing namespace std;const int ma原创 2017-05-23 21:32:08 · 224 阅读 · 0 评论 -
Codefroces 410 B.Mike and strings
http://codeforces.com/problemset/problem/798/B题目大意:给出n个字符串,可以把每个字符串的第一个字符加到字符串最后。问全部相同的话需要的最少操作次数是多少。解法:因为只有50个字符串,字符串最大长度为50,直接枚举。复杂度O(n^3)代码如下:#includeusing namespace std;int main(){ int原创 2017-04-22 14:56:37 · 203 阅读 · 0 评论 -
Codefroces 410 A. Mike and palindrome
http://codeforces.com/problemset/problem/798/A题目大意,给出一个字符串,问是否可以变动某个字符使得字符串变成回文串。坑点,exactly。确切的。你必须要改动字符。代码如下:#includeusing namespace std;bool Check(char str[], int len, int mid){ for(int原创 2017-04-22 15:00:24 · 230 阅读 · 0 评论 -
Codefroces 410 C. Mike and gcd problem
http://codeforces.com/contest/798/problem/C题目大意:给定一个序列,你可以进行如下操作:对于第i个元素a和第i+1个元素b,进行操作后第i个元素变为a-b,第i+1个元素变为a+b。问,你最少进行多少次操作可以让这个序列里面两两gcd得到的值不为1。解法:首先,NO这种情况是不存在的,因为你进行一次操作后两个元素相差2*b,模拟一下(奇,偶),原创 2017-04-22 15:36:39 · 282 阅读 · 0 评论 -
2017CCCC决赛 L1-3. 阅览室
天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种原创 2017-04-22 16:21:27 · 3637 阅读 · 0 评论