![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
思维
chen_minghui
这个作者很懒,什么都没留下…
展开
-
1010 只包含因子2 3 5的数
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1010 思路:打个表,排序后二分查找。#include<cstdio>#include<queue>#include<iostream>#include<vector>#include<map>#include<cstring>#include<st原创 2017-08-07 22:45:10 · 409 阅读 · 0 评论 -
Codeforces 612D The Union of k-Segments
题意:给n个区间,找出所有这样的数,它们至少被k个区间覆盖。并用区间输出思路:将区间起点和终点排个序,一旦遇到起点计数器加1,当遇到k个起点时,说明是答案要求的区间。扔进容器中。在离开某终点时计数器减一,离开终点之前要判断离开后覆盖数。题目:http://codeforces.com/problemset/problem/612/D#include#include#include原创 2017-07-22 21:16:16 · 233 阅读 · 0 评论 -
Codeforces 822C Hacker pack your bags! 区间
题意:有n张车票启程是l,返程是r。车票花费是c。那么旅行的时间就是r-l+1 。现在某人有x天可以去旅行,它想充分利用这x天,所以车票之间的区间不能相交,要求花费最小。可以做到输出最小花费,某则输出-1.思路:区间问题:将每个区间起点和终点都排序,并且标明是起点还是终点。一个bestcost[I]数组记录时间为I天的最小花费。每次走到终点,就更新bestcost数组,不用担心区间会相交,再往原创 2017-07-22 21:34:11 · 530 阅读 · 0 评论 -
codeforces 776C - Molly's Chemicals 前缀和
题意:给定n个元素的数组,找出某个区间所有元素之和为k的非负次幂,计算一共有几个符合条件的区间。思路:这种题总是忍不住想去暴力遍历所有区间。没想到还有遍历k。sum[I] - sum[j] = k^n (n=0,1,2...) 。枚举k^n (n=1,2,3..)因为n最多1e5,a[I] 最多1e9 .全部和加起来1e15 ,所以k^n 0~1e15 #include#inclu原创 2017-07-24 18:25:35 · 301 阅读 · 0 评论 -
codeforces 397div2 D Artsem and Saunders 贪心
题意:给一个数n,和一个数k。已知k是n进制的。但是k里面没有字母,比如A可能用10表示,求出k十进制的最小值。思路:贪心:从低位开始,要让其在数中每个位的大小接近n,这样位数越小。得到的十进制值越小。#include#include#include#include#include#include#include#include#include#include#defi原创 2017-07-26 14:02:17 · 201 阅读 · 0 评论 -
codeforces C. System Administrator 构造含割点的图
题目链接http://codeforces.com/problemset/problem/245/A题意构造一个含指定割点的连通图思路将v左边连一个,右边连n-2个,右边最大连边数为n+1+ (n-2)*(n-3)/2 ,然后n个点至少连n-1条边。#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#i原创 2017-10-26 22:07:24 · 348 阅读 · 0 评论 -
1428 活动安排问题
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1428 题意:求区间最大覆盖数,区间是左闭右开的。 思路:将区间左右点边界标记后,排个序,从小到大扫描,碰到一个左点,覆盖层加1,碰到一个右点,覆盖层减1.循环时记录最大值。#include<cstdio>#include<queue>#include<i原创 2017-08-04 13:41:20 · 277 阅读 · 0 评论 -
51nod 1305 Pairwise Sum and Divide 数学分析
题意:从A数组中选择两个数a,b两两组合求出所有(a+b)/(a*b)之和 题目链接 思路:将式子化为1/a+1/b 向下取整。 如果a==1&&b==1. 对答案的贡献是2 如果a==1&&b>=2对答案的贡献是1 如果a==2&&b==2对答案的贡献是1。 所以记录1和2的数量求出结果。#include<cstdio>#include<queue>#include<iostr原创 2017-08-01 11:24:24 · 197 阅读 · 0 评论 -
51nod 1090 3个数和为0
题目:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1090 思路:确定前两个,第三个就确定了。#include<cstdio>#include<queue>#include<iostream>#include<vector>#include<map>#include<cstring>#include<st原创 2017-08-02 15:14:59 · 144 阅读 · 0 评论 -
1091 线段的重叠
链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1091 X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]。 给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重叠,输出0。Input原创 2017-08-02 11:55:13 · 226 阅读 · 0 评论 -
51nod 1024 矩阵中不重复的元素
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1024 思路: x^y 无法直接求出 log2(x^y) = y*log2x, 这样把数字缩小了,比较它们的对数形式就可以了#include<cstdio>#include<queue>#include<iostream>#include<vector原创 2017-08-07 22:46:38 · 141 阅读 · 0 评论 -
51nod 1433 0和5
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1433 题意:给定n个数,这n个数要么是0要么是5,要求组成一个这样的数:它是90的倍数,并且尽可能大。 思路:首先组成9的倍数,也就是有9的倍数个5,然后再后面加个0就是90的倍数。#include<cstdio>#include<queue>#incl原创 2017-08-08 22:57:21 · 156 阅读 · 0 评论 -
51nod 1031 骨牌覆盖 斐波那契数列
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1031 思路:没次增加时要么是最后添加竖的一块,要么是横的一块,宽度占掉2,可以从之前的状态转换过来#include<cstdio>#include<queue>#include<iostream>#include<vector>#include<map原创 2017-08-07 22:52:11 · 257 阅读 · 0 评论 -
51nod 1007 正整数分组 01背包
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1007 思路:先求出总和,然后用总和的一半作背包体积,看全部数能够装多少。然后拿总和减去已装的,得到另一半有多少。#include<cstdio>#include<queue>#include<iostream>#include<vector>#incl原创 2017-08-07 22:49:28 · 257 阅读 · 0 评论