随笔分类 - 贪心
摘要:/* 第一次写codeforce的题解 之前一直拿它来练手速 前几天发现在好好施展一场就能到蓝名了 恰好碰上一场div3 灰常开心 然后只做了2题 现在改一改CE题 C - Maximal Intersection 这题一开始想麻烦了 想的是分有n和没有n讨论 比赛的时候少考虑了一种然后wa....... 其实 考虑n条线段的交 就是minr-maxl 那么我们枚举删掉那一个 然后剩下的按...
阅读全文
摘要:题目链接 https://vjudge.net/contest/240074#overview 只写一下自己做的几个题吧
阅读全文
摘要:/* 一开始想到的是 对于每个区间操作 先按左端点排序(包含的区间 留这打的区间) 我们维护pos表示 a数组找到了哪 对于当前这个区间 只需要找 pos--r这个区间 用set维护能用的数 没放到a中一个 就在set里面删除 对于下次处理的区间 上次的l到这次的l里的数 再扔到set里面 然后 本地跑4+s 怎么搞都过不了...... 其实可以不用对区间操作, 这样子常数比较大 直接维护每...
阅读全文
摘要:/*codevs 3279 二分+dfs贪心检验 堆版本 re一个 爆栈了*/ #include #include #include #define pa pair #define mk make_pair #define X first #define Y second #define maxn 100010 using namespace std; int n,S,num,head[maxn...
阅读全文
摘要:完美的序列(sequence)Time Limit:1000ms Memory Limit:64MB题目描述LYK 认为一个完美的序列要满足这样的条件:对于任意两个位置上的数都不相同。然而并不是所有的序列都满足这样的条件。于是 LYK 想将序列上的每一个元素都增加一些数字(当然也可以选择不增加),使
阅读全文
摘要:NP(np)Time Limit:1000ms Memory Limit:64MB题目描述LYK 喜欢研究一些比较困难的问题,比如 np 问题。这次它又遇到一个棘手的 np 问题。问题是这个样子的:有两个数 n 和 p,求 n 的阶乘对 p 取模后的结果。LYK 觉得所有 np 问题都是没有多项式复
阅读全文
摘要:【问题描述】 祖玛是一款曾经风靡全球的游戏,其玩法是:在一条轨道上初始排列着若干个彩色珠子,其中任意三个相邻的珠子不会完全同色。此后,你可以发射珠子到轨道上并加入原有序列中。一旦有三个或更多同色的珠子变成相邻,它们就会立即消失。这类消除现象可能会连锁式发生,其间你将暂时不能发射珠子。 开发商最近准备
阅读全文
摘要:WPS转word太丑了 凑合看喽 第二题 【题目描述】 给你两个日期,问这两个日期差了多少毫秒。 【输入格式】 两行,每行一个日期,日期格式保证为“YYYY-MM-DD hh:mm:ss ”这种形式。第二个日期时间一定比第一个日期时间要大两个日期的年份一定都是 21 世纪的年份。 【输出格式】 一行
阅读全文
摘要:1.铺瓷砖(tile.cpp/c/pas)【问题描述】有一面很长很长的墙。 你需要在这面墙上贴上两行瓷砖。 你的手头有两种不同尺寸的瓷砖,你希望用这两种瓷砖各贴一行。瓷砖的长可以用分数表示,贴在第一行的每块瓷砖长度为 AB ,贴在第二行的每块瓷砖长度为CD 。本问题中你并不需要关心瓷砖的宽度。如上图
阅读全文
摘要:/* 莫名其妙就做了集训队的题 不过..数据好水 codevs 1342 哈哈哈乱搞85 贪心的(好像有bug2333)照起点和终点 然后dp搞答案 这个应该很简单的 要滚一下数组 同桌打的暴力dp 55好像 思路一样的 就是省去了那个正确性不一定的贪心 */ #include #include #define maxn 200010 using namespace std; int ...
阅读全文
摘要:/* 考试的时候没想出正解 也没打暴力 时间不够了 随便yy了几种情况按出现的先后顺序处理而没有贪心 的了20分 不粘了 正解是围绕首都的儿子来搞的 显然先二分答案 对于每个限定的最大时间 我们尝试着那每个军队向根节点蹦 能蹦到的记下来最靠近根的点 并记下剩下多少时间 不能蹦到的 记下能蹦到哪里 并且标记为已有军队 最后updata一下不能蹦到的 说不定可以蹦到首都的儿子 或者首都的儿子的儿子都...
阅读全文
摘要:/* 我是不会说我考试的时候想到了正解却把金币取大看成金币求和的.... 觉得只按左右手乘积排序不太对 有反例 也可能我反例放到这个题里是错的吧 按自己的理解排的序 就是各种讨论... 假设 第i个人是x1 y1 第i+1个人是x2 y2 前面所有的左手乘积为S 我们通过考虑这两个人决定排序的规则 答案就是 min(max(S/y1,S*x1/y2),max(S/y2,S*x2/y1)) 拿掉...
阅读全文
摘要:/*虽然这暴力剪了又剪 改了又改 还是初始的20分...*/ #include #include #include #define maxn 2010 using namespace std; int n,sum,c[maxn],ans,p,t1,t2,c1,c2,f[maxn]; void Dfs(int now,int cost) { if(cost>=ans)return; ...
阅读全文
摘要:/* 一眼就知道是贪心 关键是怎么贪 考虑到每个乘客的旅行时间只算在车上的 没想太多 一看是按照每一段路上的乘客数 乘客越多的 使用加速卡 然后自信的交了 10分..... */ #include #include #include #include #define maxn 10010 using namespace std; int n,m,k,t[maxn],f[maxn],s[maxn...
阅读全文
摘要:/* 贪心.... 处理处每个点按照最大距离在x轴上的映射 然后我们就有了一些线段 目的是选取尽量少的点 使得每个线段内都有点出现 我们按照左端点排序 然后逐一处理 假设第一个雷达安在第一个线段的右端点 若下一条与之无交点 则再按一个雷达 若完全覆盖 贪心的 我们把雷达移动到下一条的右端点 这样这个雷达就又多覆盖了一个岛 */ #include #include #include #inclu...
阅读全文
摘要:/* 粘一下开始写的暴力吧 虽然没啥价值 */ #include #include #include #include #define maxn 100010 using namespace std; int n,type[maxn]; double k,c,w,v[maxn],ans; void Dfs(int p,double t,double m) { if(p==n+1) ...
阅读全文
摘要:/* 数字可以重复 显然想要最优的话是没有1的 我们列举几个看看规律 5-> 2*3 6-> 3*3 7-> 2*2*3 8-> 2*3*3 9-> 3*3*3 10的话我们分解成2个5 也就是2*2*3*3 也就是说若ai>=5我们就分成x*2+y*3 若ai==4我们就分成2*2 剩下的就不用分了 这样的话我们就把n分成了 x*2+y*3 且3越多...
阅读全文
摘要:/* 数字不重复 将一个正整数分解成若干的整数的和 数字不重复 且数字不相同 保证不重复的话 贪心策略是从2开始分 然后把最后剩下的数均匀分到后面 证明嘛 这里写的可能不是很严谨 对于一个n 如果我们先分解成了两个a1 a2 我们设 x为a2-a1 若x>=3显然我们把x拿出来 即变成 x a1 a2-x 这样会更优 然后我们要保证不重复 从2开始拆 每次+1 把剩下的给后面的每个+1 ...
阅读全文
摘要:/* 题目大体意思是两套系统好多导弹 怎样分配使得两个系统所拦截的最大半径之和最小 贪心:把距离1系统最远的 让2拦截 记好距离 然后按照距离1由远到近排序 对于每一个导弹 如果这之前的都给2拦截 则1的半径就是ri 2的半径则是前面所有的的max ans就是两者之和 我们O(n)的跑一边 边跑边维护min就好了 */ #include #include #include #includ...
阅读全文
摘要:/* codevs 4163 神犇与逆序对 */ #include #define ll long long #define maxn 1000010 using namespace std; ll n,a[maxn],b[maxn],ans; ll init() { ll x=0;char s;s=getchar(); while(s'9')s=getchar(); ...
阅读全文

浙公网安备 33010602011771号