思维
文章平均质量分 60
小小偏执狂大大的梦想
这个作者很懒,什么都没留下…
展开
-
简单水贪心 hdu 2831
Plants VS Zombies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)原创 2014-11-16 18:34:46 · 483 阅读 · 0 评论 -
CodeForces 360A - Levko and Array Recovery (思维)
题意:给定一个序列,然后对其进行两种操作1 L R W 代表从 a[L ] 到a[R] 全部加上W2 L R W 代表从 a[L] 到 a[R] 中最大值为 W问是否存在一个序灭满足上序操作 , 操作数量小于5000题解:从尾往前跑 , 维护序列每个值可存在的最大权值, 然后再从头往后跑,查询该序列是否满足要求代码:#include#de原创 2015-06-18 21:02:51 · 788 阅读 · 0 评论 -
编程之美第一题 超级赛亚ACMer
题意太麻烦 , 就不说了, 编美第一题, 也算是签到题,和队友一起果断混了5个水题, 也不知道会不会有小熊公仔,废话不多说,细说比赛我出的三个水题。题解:这个人每次战斗力会跨越, YY了一下,每次跨越的落脚点为该跨越距离中最后一个点, 然后就A了 , YY 大法好。代码:#include#include#includeusing na原创 2015-05-30 21:36:27 · 520 阅读 · 0 评论 -
编程之美第三题 序列变换tiyi
题意: 给你一个序列 , 让你改变序列中的所有值, 最后保证序列变成一个绝对递增的序列 , 也就是每个a[i+1] 〉a[i], 然后有一个消耗为 max | a[i] - b[i]|, 问消耗最小为多少。 题解: 很显然 最大值最小问题, 明显二分, 然后再保证第一个最小的同时 , 后面的和第一个尽量靠近, 然后就A了 , 这次编程之美比赛题目确实好原创 2015-05-30 21:46:30 · 468 阅读 · 0 评论 -
CodeForces 288C - Polo the Penguin and XOR operation(思维)
题意:就是让你构造一个序列,使得序列异或和最大,序列为n 的全排列 ,序列和计算方式为 SUM = a[1] ^ 0 + a[2] ^ 1 + a[3] ^ 2 + .......a[n] ^ n 构造出一个序列使得和最大题解:策略为使得每次异或出来的结果的1尽可能多,而优先从最大的n 开始考虑,因为n 最有可能出更大的数字代码:#include#inc原创 2015-06-21 16:15:02 · 996 阅读 · 0 评论 -
Codeforces Round #297 (Div. 2)C. Ilya and Sticks
题意:给你n 个木头的长度 , 问你组成矩形的最大总面积为多少, 且木头长度L 可以当作L-1 来使用。题解:很显然 组成矩形要保证总面积最大 只有大的和大的边组成才能保证面积最大,并且如果当前大的为偶数条那么不需要变成-1 否则变成减1 从头到尾扫一遍 没了代码:#include#include#includeusing namespace st原创 2015-05-31 08:25:16 · 532 阅读 · 0 评论 -
ZOJ 3870 数学思维
题意:给你n 个数 ,让你找出其中有多少组数字 a 异或b 大于max(a, b)题解:首先了解异或运算的方式 相同为0 不同为1 可以知道如果要增大肯定是要不同的位多于相同的位,其次需要知道 2的n次方等于2的n-1次访加到2的1次访再加1,即最高位影响大于低位之和,也就是说只有某个数字它和其他数字最大位不相同,则异或必然大于max(a,原创 2015-05-22 19:27:01 · 586 阅读 · 0 评论 -
CodeForces 354A - Vasya and Robot (简单思维)
题意:有一个机器人 他有两只手,一只左手一只右手,他面前摆了一排东西,左手只能从最左边拿,右手只能从最右边拿,每个东西有一个重量w[i] , 左手拿起这样东西需要消耗w[i] * l 的能量, 右手拿起这样东西需要消耗w[i] * r 的能量,如果连续使用左手或者右手还需要多消耗 Q1或者Q2的能量,问拿走所有东西所需要消耗的最少能量是多少? 题解:最后的状态无非就是左原创 2015-06-21 10:46:43 · 949 阅读 · 0 评论 -
HDU 5229 博弈思维
题意:总共有N 个串, 从中拿出2个串来,两人轮流进行两种操作操作1: 将两个串中随机拿出一个非空串,删掉其末尾字母操作2: 如果两个串相同且非空才能执行该操作,清空两个串;谁面临无法执行操作时 , 判为输, 两人足够机灵题解:明显 如果两个串相同则必定先生赢,两个人为了避免对手拿到必胜状态一定会尽量使两个串差距大。策略为拿两个串中最小的串,既能使对家面临两个串都为空原创 2015-05-19 22:28:16 · 464 阅读 · 0 评论 -
Codeforces 337D Book of Evil (树的直径)
这道题 本来看着没有太多思路,罪过罪过,果断瞻仰神牛博客题意:就是现在对于一个n个点的树 (1 题解:找到恶魔子树的直径,然后再枚举所有点到子树直径的距离 发现两个距离都小于d 则Ans ++; 原因:如果一个树的节点到其子树的直径端点的最大值为X 则该点到该子树的所有节点距离大于d 代码:#include#include原创 2015-06-04 21:38:20 · 522 阅读 · 0 评论 -
ZOJ 3872 (思维)
题意: 给你一个串, 串和为所有不相同数字之和, 然后让你求该串所有连续子串总和为多少。题解:从前往后扫一次 , 记录当前数字出现次数, 计算和的时候减去该数字乘出现次数代码:#include#include#includeusing namespace std;map mark;int main(){ int T, a, n; scan原创 2015-05-27 13:27:12 · 714 阅读 · 0 评论 -
Codeforces Round #275 (Div. 1)A. Diverse Permutation (水)
题意:从1-n的数,让你选择一些数来构造,要求每个相邻的数之间的绝对值之差有k种题解:先放好一个1 然后往后面插数字 先满足绝对值不同的 然后全插绝对值为1的, 代码:#include#includeint main(){ int n, k, a[100005], mark[100005]; while(scanf("%d %d", &原创 2015-05-27 13:25:44 · 525 阅读 · 0 评论 -
Codeforces 526C - Om Nom and Candies(贪心,暴力)
题意:你最多可以吃C千克的糖, 有两种糖,每种糖有两个参数,一个为重 w ,一个为欢乐度 h , 如何选择才能拥有最高的欢乐度, 两种糖数量不限。题解:看了半天题解才理解如何做,分为两种枚举政策涵盖了所有情况, 时间复杂度为sqrt(c),神奇的暴力1。如果两种糖中重量最大的超过sqrt(c), 那么该糖最多也只能选择不超过sqrt(c)个, 直接枚举该糖个数,记录最大欢原创 2015-05-21 09:29:30 · 1009 阅读 · 0 评论 -
Codeforces 534D - Handshakes(构造,暴力)
题意:总共有N个人进入教室, 每次进入的时候会和教室里面原有的人握手,并且记录握手的次数,当教室里面有大于等于三个人的时候,任意三个人可以组队去比赛(后面近来的人将无法看到他们), 现在给出人数N 给出乱序的人的握手次数,问是否可以组成一个合法的序列 题解:一个人一个人往教室里走, 每次看看当前握手次数的询问是否还有, 如果还有 直接用当前握手次数否则将退回当前次数减3的次数原创 2015-05-20 22:16:30 · 681 阅读 · 0 评论 -
HDU 4007 暴力枚举
DaveTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 3045 Accepted Submission(s): 1024Problem DescriptionRecently, Dave is bor原创 2014-11-18 10:26:51 · 459 阅读 · 0 评论 -
HDU 5056 字符串处理
Boring countTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 694 Accepted Submission(s): 283Problem DescriptionYou are given a原创 2014-11-18 23:25:01 · 454 阅读 · 0 评论 -
HDU 4544 贪心+优先队列
湫湫系列故事——消灭兔子Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1586 Accepted Submission(s): 539Problem Description 湫湫减肥 越减越肥原创 2014-11-19 22:32:39 · 448 阅读 · 0 评论 -
POJ 3762 费用流
The Bonus Salary!Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 2421 Accepted: 630DescriptionIn order to encourage employees' productivity, ACM Company原创 2014-11-21 20:45:06 · 511 阅读 · 0 评论 -
POJ 3686 奇妙建图 费用流
The Windy'sTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 4179 Accepted: 1784DescriptionThe Windy's is a world famous toy factory that owns M top-class原创 2014-11-15 12:04:44 · 509 阅读 · 0 评论 -
HDU 1482 模拟天平问题
【科普】什么是BestCoder?如何参加?Counterfeit DollarTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 523 Accepted Submission(s): 198原创 2014-11-18 10:33:48 · 572 阅读 · 0 评论 -
HDU 4884 模拟炒饭
题意 :一个人开了一家炒饭馆,炒饭原则是这样的,一次最多炒K个相同种类的炒饭,消耗T单位的时间。优先按队伍中的顺序处理,如果在我刚准备炒这一锅饭的时候或之前,你来这定饭,我可以帮你炒,否则在我炒的时候不准接单。也就是每次炒饭尽量多炒,但是不准多余,输入每个人来的时间,所需饭的种类以及个数,一次输出每个人离开的时间。题解 : 弄懂题意是重点 举个例子,比如原创 2014-11-23 17:08:29 · 786 阅读 · 0 评论 -
hdu 3987 求最小割条数最小
题意: 一个人要从起点 0 到达 n-1 n个点 m条路 ,我们求最少破坏路的条数使无法 从起点到达终点。题意很明显 ,求最小割条数最少,由于最小割流量虽然固定,但是其条数却不固定,可以破坏3条路,也可以破坏4条路,他们总流量相同才会出现这种情况。题解:由于上述的情况,他们总流量相同但是条数不同,现在我们需要改变边的容量使得条数少边才是最小割,条数多的将不会是最小割。官原创 2014-12-01 21:50:55 · 814 阅读 · 0 评论 -
HDU 2158 模拟题
题目:给定一个序列,有N个整数,数值范围为[0,N)。有M个询问,每次询问给定Q个整数,可能出现重复值。要求找出一个最短区间,该区间要包含这Q个整数数值。题解:先便利一个整体的 L 和 R, 然后枚举L, 同时维护R,使得区间满足题目要求,更新最小区间, 直道不满足要求为止。代码:#include#include#define N 100005原创 2014-12-03 20:56:06 · 1301 阅读 · 0 评论 -
HDU 5020 容器标记斜率
题意:给你n个点,让你求出三点共线的最大情况, 点数为1000个题解:很显然 ,点数1000,普通枚举O(n3),肯定过不了了。方法为map记录每个点和其他点连线的斜率,如果斜率出现次数大于2 ,Num += C(N,2);代码:#include#include#includeusing namespace std;mapdouble , int> mark;in原创 2014-12-04 23:13:33 · 500 阅读 · 0 评论 -
codeforces #549G Happy Line
题意: 给你一个序列 ,让后可以进行改动 改动为 前者减一后者加一, 然后前后交换,问是否可以改变为非递减序列题解: 改动规则很简单, 要后移 则权值加一,前进则权值减一,可以发现无论如何移动 每个点的权值加上下标都是不变的。所以进行一下处理,排序,如果有权值加上下标相等的,则无法改变为非递减序列代码:、#include#include#include#i原创 2015-06-12 18:23:45 · 746 阅读 · 0 评论