• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
dwtfukgv
博客园    首页    新随笔    联系   管理    订阅  订阅

随笔分类 -  高效算法

上一页 1 ··· 3 4 5 6 7 8 9 下一页
CodeForces Gym 100685E Epic Fail of a Genie (贪心,控制精度)

摘要:题意:给定 n 个数,然后让从中选取一些数使得它们的总乘积最大。如果有多个,要求这些数尽量少,如果还有多个,随便输出一组即可。 析:一个贪心题,根据乘法的性质,很容易知道,如果一个数大于1,那么肯定要选的,然后如果有两个负数乘积大于1,也要选上,其他的尽量不要选。 最后如果没有这样数,那么就只要计算 阅读全文
posted @ 2016-08-31 14:09 dwtfukgv 阅读(568) 评论(0) 推荐(0)
POJ 3617 Best Cow Line (贪心)

摘要:题意:给定一行字符串,让你把它变成字典序最短,方法只有两种,要么从头部拿一个字符,要么从尾部拿一个。 析:贪心,从两边拿时,哪个小先拿哪个,如果一样,接着往下比较,要么比到字符不一样,要么比完,也就是说从头部和尾部拿都一样,那么就随便拿一个了。 代码如下: 阅读全文
posted @ 2016-08-29 23:09 dwtfukgv 阅读(188) 评论(0) 推荐(0)
CCF 201312-4 有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)

摘要:问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。 3. 最高位数字不为0。 因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:20 阅读全文
posted @ 2016-08-29 17:05 dwtfukgv 阅读(611) 评论(0) 推荐(0)
UVaLive 6609 Meeting Room Arrangement (贪心,区间不相交)

摘要:题意:给定 n 个区间,让你选出最多的区间,使得每个区间不相交。 析:贪心题,贪心策略是按右端点排序,然后按着选即可。 代码如下: 阅读全文
posted @ 2016-08-25 22:38 dwtfukgv 阅读(228) 评论(0) 推荐(0)
UVaLive 6694 Toy Boxes (二分+想法)

摘要:题意:给出n个数,把n个数放在三个盒子里,每个盒子里的数绑在一起,要拿出来任何一个数的时候,所承担的重量是整个盒子的总重量,求最小总重量和。 析:感觉吧,就是轻的放的多一些,拿的次数多一些,大的放的少一些,拿的少一些。分成两堆时一定是连续小的物品在一堆,连续大的在一堆, 也就是其中一堆的任意一个物品 阅读全文
posted @ 2016-08-24 19:47 dwtfukgv 阅读(267) 评论(0) 推荐(0)
UVaLive 6698 Sightseeing Bus Drivers (水题,贪心)

摘要:题意:n个工人,有n件工作a,n件工作b,每个工人干一件a和一件b,a[i] ,b[i]代表工作时间,如果a[i]+b[j]>t,则老板要额外付钱a[i]+b[j]-t;现在要求老板付钱最少; 析:贪心策略,让大的和小的搭配,小的和大的搭配,是最优的。 阅读全文
posted @ 2016-08-23 23:36 dwtfukgv 阅读(219) 评论(0) 推荐(0)
CodeForces 707B Bakery (水题,暴力,贪心)

摘要:题意:给定n个城市,其中有k个有仓库,问你在其他n-k个城市离仓库的最短距离是多少。 析:很容易想到暴力,并且要想最短,那么肯定是某一个仓库和某一个城市直接相连,这才是最优,所以只要枚举仓库,找第一个城市,然后更新答案即可。 代码如下: 阅读全文
posted @ 2016-08-21 17:12 dwtfukgv 阅读(303) 评论(0) 推荐(0)
UVaLive 7372 Excellence (水题,贪心)

摘要:题意:给定 n 个数,要求把其中两个分成一组,然后加和,问所有的都分好,最小数是几。 析:贪心策略,最大和是小的相加,就是最优的。 代码如下: 阅读全文
posted @ 2016-08-19 18:47 dwtfukgv 阅读(136) 评论(0) 推荐(0)
POJ 3312 Mahershalalhashbaz, Nebuchadnezzar, and Billy Bob Benjamin Go to the Regionals (水题,贪心)

摘要:题意:给定 n 个字符串,一个k,让你把它们分成每组k个,要保证每组中每个字符串长度与它们之和相差不能超2. 析:贪心策略就是长度相差最小的放上块。 代码如下: 阅读全文
posted @ 2016-08-18 19:30 dwtfukgv 阅读(218) 评论(0) 推荐(0)
HDU 3661 Assignments (水题,贪心)

摘要:题意:n个工人,有n件工作a,n件工作b,每个工人干一件a和一件b,a[i] ,b[i]代表工作时间,如果a[i]+b[j]>t,则老板要额外付钱a[i]+b[j]-t;现在要求老板付钱最少; 析:贪心策略,让大的和小的搭配,小的和大的搭配,是最优的。 代码如下: 阅读全文
posted @ 2016-08-16 19:24 dwtfukgv 阅读(229) 评论(0) 推荐(0)
UVaLive 7361 Immortal Porpoises (矩阵快速幂)

摘要:题意:求Fibonacci的第 n 项。 析:矩阵快速幂,如果不懂请看http://www.cnblogs.com/dwtfukgv/articles/5595078.html 是不是很好懂呢。 代码如下: 这也是运用矩阵快速幂的思想写的。 代码如下: 阅读全文
posted @ 2016-08-15 20:28 dwtfukgv 阅读(313) 评论(0) 推荐(0)
CodeForces 706D Vasiliy's Multiset (字典树查询+贪心)

摘要:题意:最开始的时候有一个集合,集合里面只有一个元素0,现在有q次操作,操作分为3种: + x: 表示向集合中添加一个元素x - x:表示删除集合中值为x的一个元素 ? x:表示查询集合中与x异或的最大值为多少 析:这是一个字典树的应用,不过确实没看出来。。。。主要思想是这样,先用10进制数,转成二进 阅读全文
posted @ 2016-08-14 21:46 dwtfukgv 阅读(684) 评论(0) 推荐(1)
CodeForces 706B Interesting drink (二分查找)

摘要:题意:给定 n 个数,然后有 m 个询问,每个询问一个数,问你小于等于这个数的数有多少个。 析:其实很简单么,先排序,然后十分查找,so easy。 代码如下: 阅读全文
posted @ 2016-08-12 22:58 dwtfukgv 阅读(168) 评论(0) 推荐(0)
HDU 4431 Mahjong (DFS,暴力枚举,剪枝)

摘要:题意:给定 13 张麻将牌,问你是不是“听”牌,如果是输出“听”哪张。 析:这个题,很明显的暴力,就是在原来的基础上再放上一张牌,看看是不是能胡,想法很简单,也比较好实现,结果就是TLE,一直TLE,这不科学啊。。。 好不容易写出来的,竟然TLE。。。心痛。就是先确定一个将牌,然后再对刻子和顺子进行 阅读全文
posted @ 2016-08-11 19:31 dwtfukgv 阅读(307) 评论(0) 推荐(0)
CodeForces 589B Layer Cake (暴力)

摘要:题意:给定 n 个矩形是a*b的,问你把每一块都分成一样的,然后全放一块,高度都是1,体积最大是多少。 析:这个题,当时并没有完全读懂题意,而且也不怎么会做,没想到就是一个暴力,先排序,先从大的开始选,如果大,那么数量少,如果小,数量就多, 用一个multiset来排序,这样时间复杂度会低一点,每一 阅读全文
posted @ 2016-08-10 21:06 dwtfukgv 阅读(436) 评论(0) 推荐(0)
CodeForces 705C Thor (模拟+STL)

摘要:题意:给定三个操作,1,是x应用产生一个通知,2,是把所有x的通知读完,3,是把前x个通知读完,问你每次操作后未读的通知。 析:这个题数据有点大,但可以用STL中的队列和set来模拟这个过程用q来标记是哪个应用产生的,用set来记录是第几个通知. 代码如下: 阅读全文
posted @ 2016-08-08 10:39 dwtfukgv 阅读(372) 评论(0) 推荐(0)
HDU 4599 Dice (概率DP+数学+快速幂)

摘要:题意:给定三个表达式,问你求出最小的m1,m2,满足G(m1) >= F(n), G(m2) >= G(n). 析:这个题是一个概率DP,但是并没有那么简单,运算过程很麻烦。 先分析F(n),这个用DP来推公式,d[i],表示抛 i 次连续的点数还要抛多少次才能完成。那么状态转移方程就是 d[i] 阅读全文
posted @ 2016-08-04 22:36 dwtfukgv 阅读(432) 评论(0) 推荐(0)
UVa 1620 Lazy Susan (找规律)

摘要:题意:给 n 个数,每次可以把4个连续的数字翻转,问你能不能形成1-n的环状排列。 析:找一下奇偶性,写几个数试试,就会找到规律。 代码如下: 阅读全文
posted @ 2016-08-01 21:33 dwtfukgv 阅读(377) 评论(0) 推荐(0)
UVa 11536 Smallest Sub-Array (水题, 滑动窗口)

摘要:题意:给定 n 个由0~m-1的整数组成的序列,输入 k ,问你找出连续的最短序列,使得这个序列含有1-k的所有整数。 析:这个题,很简单么,只要从头开始扫一遍就OK,时间复杂度为O(n)。 代码如下: 阅读全文
posted @ 2016-07-31 23:49 dwtfukgv 阅读(338) 评论(0) 推荐(0)
UVa 1617 Laptop (贪心)

摘要:题意:有n个长度为1的线段,确定它们的起点,使得第i个线段在[ri,di]之间,输出空隙数目的最小值。 析:很明显的贪心题,贪心策略是这样的,先把所有的区间排序,原则是按右端点进行排序,如果相等再按左端点排,然后再扫一遍,如果第一个区间的右端点和第二个右端点一样, 一定可以相邻,如果不相等,再看是不 阅读全文
posted @ 2016-07-31 23:07 dwtfukgv 阅读(572) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3