贪心数列构造——cf1157D】的更多相关文章

一开始将数列设置为0 1 2 3 4 5 6... 然后从左到右遍历,每位不够就增加即可 #include<bits/stdc++.h> using namespace std; #define maxn 200005 #define ll long long ll a[maxn],n,k; int main(){ cin>>n>>k; ll sum=(+k-)*k/; if(sum>n){ puts("NO"); ; } a[]=-; ;i&…
B. Clique Problem time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output The clique problem is one of the most well-known NP-complete problems. Under some simplification it can be formulated as f…
题目描述 给出一个的数列,将其重新排列,使得其等差子序列的数目最小.输出一种可能的排列后的数列. 题解 构造 那天和 EdwardFrog 讨论 bzoj2124 的构造时突然有的灵感,最后发现就是这道题... 通过构造可以使得不存在长度为3的等差子序列. 考虑:如果把所有奇数放到所有偶数的左面,那么就不会出现 “奇-偶-奇” 或 “偶-奇-偶” 的情况. 对于 “奇-奇-奇” 或 “偶-偶-偶” 的情况,将所有 $a_i$ 变为 $\lfloor\frac{a_i}2\rfloor$ 不影响判…
题意:给定10种面额的货币和它们的数量上限,问构造出恰好总额为P的最小张数,无解输出-1 T=2e4,p<=1e9,c[i]<=1e5 思路:From https://blog.csdn.net/snowy_smile/article/details/49592521 如果采用最傻瓜式的贪心,我们一定是使得每枚货币的面值尽可能低.即,如果有面值更低的硬币,我们优先使用它:它用完之后,才考虑面值更大的硬币.这种做法显然有问题.因为它不能保证我们恰好凑得硬币的总价值为m.1,可能不够——直接-12…
题目大意:让你构造一个括号序列,括号匹配的方式类似于栈,给出从左数每个括号 到和它匹配的右括号的 最小和最大距离,让你输出一个合法括号序列 看错题了以为是二分图,然后写了搜索 贪心发现如果距离往小了填,不会影响结果 括号必须套完整的括号,所以距离必须是2的整数倍+1 如果一个括号匹配上了,那么两个括号之间不能有其它的半个括号 如果第一个能匹配的右括号的位置被占上了,那么就把前面的左括号相匹配的右括号往右挪,如果超过了能移动的最大范围,说明不合法 细节比较多 #include <map> #in…
传送门 做过这道题,然后这道题告诉你怎么构造数据-- 一种可行的构造方式是:将奇数和偶数分成两半,奇数放在偶数前面,然后除以2,再递归下去处理. 构造的正确性是显然的:如果存在"奇数偶数奇数"或者"偶数奇数偶数"的等差子序列,会在当前层被分离,否则除以2之后,"奇数奇数奇数"和"偶数偶数偶数"的等差子序列的公差会/2,那么这些等差子序列在递归到某一时刻也会变为"奇数偶数奇数"或者"偶数奇数偶数&q…
Misha walked through the snowy forest and he was so fascinated by the trees to decide to draw his own tree! Misha would like to construct a rooted tree with n vertices, indexed from 1 to n, where the root has index 1. Every other vertex has a parent…
点击打开链接 C. Palindrome Transformation time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Nam is playing with a string on his computer. The string consists of n lowercase English letters. It is m…
题目大意:给你一棵树,让你对叶节点分组,保证每组中,任意两个叶节点之间的距离不大于K,求最小的组数 手动yy的贪心竟然对的 对于每个节点,维护一个$ma[i]$,表示在$i$节点的子树内 未被分组的叶节点到$i$节点的最长距离 那么,对于每个节点,把它的子节点按照$ma[i]$排序,那么如果这个点的子树不需要额外的分组,就要保证最大的$ma[v1]$和次大的$ma[v2]$之间的距离小于等于K 如果不满足,说明需要对子树内的节点进行额外分组 根据贪心的思想,选择ma最大的子节点$v1$,那么就从…
牛客练习赛51 E-数列 链接:https://ac.nowcoder.com/acm/contest/1083/E来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K Special Judge, 64bit IO Format: %lld 题目描述 小乔有一个长度为n的整数数列,最开始里面所有的值都为0,小乔需要将在1-n的每一个位置填入一个大于0的正整数,得到一个新的数列,并且这个数列所有数的和不超过m,小乔对这个数列会有一个喜爱…