
简单思维
文章平均质量分 77
天宇skyblue
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu5301 思维题
题目大意:给出a*b的矩阵,里面有一个坏点,求用不覆盖这个坏点的其他矩阵填满a*b的矩阵,使得其他矩阵的最大面积最小,并输出最小面积。思路:如果在正方形中央,且边长为奇数 ,答案就是n/2;如果是长方形,看那个坏点距离上下边界的最大值和左右边界的最小值那个更小,结果再和(n + 1) / 2取最大值即可。#include #include #include #include #原创 2015-08-03 10:35:39 · 411 阅读 · 0 评论 -
hdu5521 spfa+超图转换+最短路+邻接表建图
题目大意:给你一个图,一个人在第一个节点,一个人在最后一个节点,问两人能不能相遇,相遇时的最短距离是多少。输入边的时候十亿集合形式输入,每个集合内的两两节点可达,距离给定。2015沈阳现场赛题目,当时被建图坑了,没有想清楚就敲,最后没过,暴力建边,边数会达到1e12,肯定超时,后来学习了 别人的解法,给每一个点集S加一个入点和一个出点,则点数和别树就在可以接受的范围内。不说了,直接贴代码#in原创 2015-12-11 11:08:10 · 627 阅读 · 0 评论 -
cug1699数组反转
题目大意:题目描述:input:output:思路:记录n次操作后每次的结果数组,因为k很小,可以存下。然后在q次询问时,每次查询a[l-1] 和a[r]的同一个数的相对位置即可。比赛的时候太慌,没有静心想#include #include #include #include #include #include #in原创 2016-05-11 17:15:02 · 292 阅读 · 0 评论 -
hdu5714 思维+区间内线段最
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5714题目大意:给你n只小船,给你每个船的左端点和右端点,以及航行方向(左,右)和到岸边的距离,每个船的航行距离一样。如果有个人在岸边且只能垂直于岸边拍摄(与岸边呈45度角),问最多可以拍到多少只完整的小船。思路:1、首先,因为所有船只航速一样,所以同一方向的船只相对静止。2、如原创 2016-06-01 10:43:41 · 564 阅读 · 0 评论 -
poj1019 n的位数+规律
题目链接:http://poj.org/problem?id=1019题目大意:给你一个串112123123412345……问第n位的数字是多少。n思路:首先我们分析这个字符串可以看出它是由这些子串组成的,1,12,123,1234,12345......这样我们可以每个子串单独分析,我们可以看出来第i个子串比第i-1个子串多一个数i,数字i的长度为log10(i)+1,也就是原创 2016-06-03 16:20:06 · 1222 阅读 · 0 评论 -
hdu5700 区间交 思维
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5700题目大意: Problem Description小A有一个含有n个非负整数的数列与m个区间。每个区间可以表示为li,ri。它想选择其中k个区间, 使得这些区间的交的那些位置所对应的数的和最大。例如样例中,选择[2,5]与[4,5]两个区间就可以啦。原创 2016-06-10 14:44:39 · 623 阅读 · 0 评论 -
hdu5738 多校2.5 几何+点集操作
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5738题目大意:给你n个点,问最优的子集有多少个,最优的子集为共线的***思路:将所有点先按(x , y)双关键字排序,然后每个点和它右面的点计算斜率map一下,就可以计算出共线的点了,即为num。然后如果有重点,记录重点数量cnt,只在cnt里面选点有(2^cnt-cnt-1)原创 2016-07-22 11:44:43 · 246 阅读 · 0 评论 -
hdu5734 推公式 多校2.1
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5734题目大意: 给你一个n维向量W,将W减去一个非0向量b,求最小的||W||思路:减去W向量和的平均数,最后化简为一个很简单的式子…………#include #include #include #include #include #include #in原创 2016-07-22 11:54:03 · 234 阅读 · 0 评论 -
HDU5743 多校2.9
题目大意:求(a1+a2)/sum的最大值思路:分子尽可能大就好#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#pragma comm原创 2016-07-22 11:55:47 · 393 阅读 · 0 评论 -
hdu5744 多校2.11
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5744题目大意:给你每个字母的数量,问能组成的回文串的集合里面最短的长度最长是多少。思路:统计奇数个数,将其变为1,累加所有的数量,将累加和平均分配给奇数个数。。。#include #include #include #include #include #i原创 2016-07-22 12:06:04 · 311 阅读 · 0 评论 -
hdu5726 GCD 多校1
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5726题目大意:给你一个数列,问有多少个子区间的GCD等于给定区间的GCD思路:区间GCD用线段树,查询多少个子集可以暴力预处理出所有区间的GCD,处理时,利用滚动的map记录到达当前位置的gcd和数量,代码里面用f表示#include #include #include #i原创 2016-07-23 09:03:24 · 323 阅读 · 0 评论 -
CF552C 进制
题目大意: 现在有好多种砝码,他们的重量是 w0,w1,w2,… 每种各一个。问用这些砝码能不能表示一个重量为m的东西。 样例解释:可以将重物和3放到一个托盘中,9和1放到另外一个托盘中。Input 单组测试数据。 第一行有两个整数w,m (2 ≤ w ≤ 10^9, 1 ≤ m ≤ 10^9)。 Output 如果能,输出YES,否则输出NO。 Input示例 3 7 Outp原创 2016-06-16 10:58:27 · 674 阅读 · 0 评论 -
hdu5884 二分+排序
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5884题目大意:给你n个序列,将其合并为一个,每次合并序列的花费为所合并子序列长度的和,先给你总花费t,问每次最少合并多少个子序列。思路:排序,每次从最小的开始合并,这样能保证最优。然后二分k即可。有两点需要注意:1、合并分为很多次,每次合并后变为一个序列,这个序列的长度已经不是最小原创 2016-09-17 22:14:04 · 1562 阅读 · 0 评论 -
cf557c
题目大意:有一张桌子,有n个腿。第i根腿的长度是li。现在要拿掉一些腿,使得桌子稳定,拿掉第i根腿需要di的能量。稳定的条件是,假如拿掉若干条腿之后,桌子还有k个腿,那么长度最长的腿的数目要超过一半。比如桌子有5根腿,那么至少要有三根腿是最长的。另外,只有一根腿的桌子是稳定的,两个腿的桌子想要稳定,必需长度是一样的。你的任务是拿掉若干腿,使得桌子稳定,并且所消耗的能原创 2016-03-04 18:53:47 · 2851 阅读 · 0 评论 -
51nod1419 lcm,规律
找规律就行,只需要找到三个数互质且最大那么就是答案。#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#pragma comment(原创 2016-02-03 13:10:54 · 360 阅读 · 0 评论 -
hdu5452 最小割,图论
题目大意:给定一个图,前n-1条边为最小生成树的边,后m-n+1条边为图,求最少删除多少条边才能使原图不连通,其中最小生成树的边只能删除一条。思路:将树上边的度和图上的度记录,只能删除树上度为一的边,在里面度数和最小的节点,最小值就是结果。#include using namespace std;#define mem(a) memset(a , 0 , sizeof(a))原创 2015-10-21 10:24:52 · 568 阅读 · 0 评论 -
FZU2221 分组必胜
题目大意:给定跑男团和敌方人数n,m,每队分成3组,相互pk,人数多则胜利,问跑男团是否必胜思路:因为跑男团必胜,所以必须有两个组大于等于敌方队伍人数,第一次派出敌方一半的人去,如果对方想胜利,则必须大于一半,剩下的人数为小于一半,跑男团只需要在派一半或者一半减一,则必胜。如果第一次地方队伍输了,假设地方队伍没有派人,那么跑男团第二次同样派出敌方一半人数,同理,最后一次只需要一半减一,这种情况原创 2015-12-29 10:23:25 · 583 阅读 · 0 评论 -
CF 600C 贪心+字符串
题目大意:给定一个字符串s,可以任意改变其中某个位置的字母,可以改变字母顺序(不算改变),求改变最小使其变成回文串,输出回文串(字典序最小)思路,统计每个字母的数量,根据总长度去操作,简单题。#include #include #include #include #include #include #include #include #include #i原创 2015-12-16 17:16:22 · 345 阅读 · 0 评论 -
FZU2216 最长连续子序列
题目大意:给定一个序列,长度为n,所有数据大小不超过m,若为0则代表可以是任意数,问最长的连续子序列是多长,(2,3,4,5,)为连续思路:设数组g[i]表示前i个自然数中0的个数,初始化g时若i被访问则g[i]=g[i-1],否则g[i]=g[i-1]+1.那么结果就是从0到m遍历找到g[i]+num(0的个数)的最小上界即可。#include #include #inclu原创 2015-12-31 13:12:31 · 675 阅读 · 0 评论 -
whuoj1574 第K小数
题目大意:给定一个长度为n的数,随意去掉其中的一个数,共有n个数,求其中第k小的数思路:因为只去其中的一个数,所以比较相邻的两个数,就可以确定大小,若左边大于右边,则去掉右边的数肯定比去掉左边的数小,所以给定up=n,down=1.若遇到右边一位大与左边,去掉此位所得的数字的顺序是的up--大,相反,若小于,则是第down++大。若左边等于右边,则一直找下去,找到第一位和他不相等的数进行比较,原创 2016-01-20 14:06:26 · 387 阅读 · 0 评论 -
51nod1495 中国好区间 思维
题目大意:阿尔法在玩一个游戏,阿尔法给出了一个长度为n的序列,他认为,一段好的区间,它的长度是>=k的,且该区间的第k大的那个数,一定大于等于T。那么问题来了,阿尔法想知道有多少好的区间。由于阿尔法的序列长度实在是太大了,无法在规定时间内读入。他想了一个绝妙的方法。读入a[0],b,c,p,则a[i]=(a[i-1]*b+c)mod p。原创 2016-01-21 13:12:22 · 552 阅读 · 0 评论 -
poj2229
题目大意:给你一个数n,只能用2的幂次求和组成,问总共有多少种方案,答案保留九位数。n思路1:递推。因为每个数n的答案ans[n]都是由ans[n-(1思路2:dp。每个状态dp[i]可有两种状态得来,一种是dp[i] = dp[i-1] , 另一种是(dp[i-1) + dp[i>>1])得来。前者是i为奇数时的状态转移,后者是偶数时。对于奇数i来说,是(i-1)增加了1,而且除原创 2016-01-05 10:40:25 · 782 阅读 · 0 评论 -
51nod1670 打怪兽 期望,数学
题目大意:lyk在玩一个叫做“打怪兽”的游戏。游戏的规则是这样的。lyk一开始会有一个初始的能量值。每次遇到一个怪兽,若lyk的能量值>=怪兽的能量值,那么怪兽将会被打败,lyk的能量值增加1,否则lyk死亡,游戏结束。若怪兽全部打完,游戏也将会结束。共有n个怪兽,由于lyk比较弱,它一开始只有0点能量值。n个怪兽排列随机,也就是说共有n!种可能,lyk想知道结原创 2016-01-21 15:54:35 · 470 阅读 · 0 评论 -
codeforces 476C 推公式
题目大意:给定a,b,对于一个数x,若x是nice number,则满足(x/b)/(x%b) == [1,a](即结果在1-a之间)问:输出一个数表示 所有nice number的和。思路:令 d = div(x, b), m = mod(x, b), 则:d = mkx = db + m有 x = mkb + m = (kb + 1) * m。求出m,k即可原创 2015-12-22 10:23:42 · 519 阅读 · 0 评论 -
51nod1393 01串相等 思维
题目:给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等。Input一个字符串,只包含01,长度不超过1000000。Output一行一个整数,最长的0与1的个数相等的子串的长度。Input示例1011Output示例2思路:dp[i][0]记录前i个字符中0的个数,dp[i][1]原创 2016-01-24 10:58:01 · 457 阅读 · 0 评论 -
hdu5592
上面的是原题解。我的思路一样,不过使用vector实现的,第一次查找了一遍超时,想了一下原来不用,直接找就行,最后险过,听说线段树特别快。有时间试试#include #include #include #include #include #include #include #include #include #include #include #include usi原创 2015-12-08 10:00:35 · 550 阅读 · 0 评论 -
51nod1613翻硬币规律!
理论解法转自知乎,原文链接:http://www.zhihu.com/question/26570175/answer/33312310题目链接:http://www.51nod.com/contest/problem.html#!problemId=1613【有 n 个硬币,一开始全部正面朝上,每次可以翻转 k 个硬币( k 小于 n ),那么至少要 p 次翻转,才能让所有硬币反原创 2016-03-02 20:21:19 · 973 阅读 · 0 评论 -
51nod1744多重排序 (思维)
题目连接:https://www.51nod.com/Challenge/Problem.html#problemId=1774思路:每次都是1到r进行排序,所以每次后面大的r会覆盖前面较小的r,所以选择出最大的r,然后倒叙维护排序操作,排序也就是反转。具体可见代码理解。#include <iostream>#include <bits/stdc++.h>...原创 2019-08-06 10:44:53 · 398 阅读 · 0 评论