题意: t组数据,每组数据给定n,m, 表示有m个约束,每个约束包含 x,y ,代表区间 [x, y] 里的数字不能相同. 让你用所有的正整数构成一个长度为 n 的区间,使得这个区间元素顺序的字典序最小. 这个题场上的思路是把所有的约束区间排序,然后再用优先队列维护当前可用的最小值. 后来看了dls的代码.发现我们真是弱爆了. 用suc[i]表示每一个左边界为 i 的限制最右可以向右延伸到哪里. 刚开始suc[i] = i; 表示每一个[i, i] 也是一个限制. 例如第三个样例:n = 5,…
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=6301 Distinct Values Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5312    Accepted Submission(s): 1823 Problem Description Chiaki has an array of…
Distinct Values Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4915    Accepted Submission(s): 1680 Problem Description Chiaki has an array of n positive integers. You are told some facts about…
题意: t组测试数据,每组数据有 n 个只由 '(' 和 ')' 构成的括号串. 要求把这 n 个串排序然后组成一个大的括号串,使得能够匹配的括号数最多. 如()()答案能够匹配的括号数是 4,(()) 也是 4. 例如: n = 2 ) )(( 你可以将其排序为))((,数目为0,也可以将其排序为)((),数目为1. 解法: 贪心. 把所有字符串中本身能够匹配的括号全部去掉,然后剩下的字符串只有三种: 1.全是 '(' 2.全是 ')' 3.一串 ')' 加一串 '(' 对于每一种字符串,如果…
题意:长为n的串,给你m个区间,这些区间内元素不重复,问这样的串字典序最小为? 思路:用set保存当前能插入的元素,这样就能直接插入最小元素了.对操作按l排序,因为排过的不用排,所以两个指针L,R是一直右移的.L右移肯定是增加set中元素,R右移有两种可能:一是L在R右边,R只是负责赶路赶到操作区间:二是L在R左边,那么R右移是在扩大区间,并且对数组中元素进行插入. 代码: #include<cstdio> #include<vector> #include<set>…
题目大意: 给你一个序列An,然后求有多少个序列Bn 满足Bi<=Ai,且这个序列的gcd不为1 题解: 考虑这样做 枚举一个因子k,然后求出有多少个序列的gcd包含这个因子k 然后把结果容斥一下,我们会发现,这个容斥恰好就是求莫比乌斯函数 所以直接先预处理出来即可 于是k从2到n依次枚举,然后把结果乘以u(k)加到最后的答案里. 另一个问题是,如何快速求出有多少个序列呢,如果单纯的把每个数除以k然后加起来,就是n^2logn 显然会超时. 所以这里先把数存起来,然后整体来做 对于k来说,每次就…
题意:现在要你构造一个只有{0,1,2,3} 长度为n且有m个限制条件的序列 问你方案数 思路:dp[i][j][k][now]分别表示四个数最后出现的位置 最后可以滚动数组 优化一下空间 ps:我的代码常数很大 其实有很多可以优化的地方 #include <bits/stdc++.h> using namespace std; const double pi = acos(-1.0); const int N = 107; const int inf = 0x3f3f3f3f; const…
Distinct Values Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2298    Accepted Submission(s): 740 Problem Description Chiaki has an array of n positive integers. You are told some facts about…
Distinct Values Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4869    Accepted Submission(s): 1659 Problem Description Chiaki has an array of n positive integers. You are told some facts about…
hdu 6301 Distinct Values 题目传送门 题意: 给你m个区间,让你求出一个长度为n的区间且满足在这些区间的数不重复, 并且要求字典序最小 思路: 如果我们已经求出这个序列了,你会发现,如果大的区间已经满足条件了, 那么它包含的小区间也已经满足了. 然后它要求字典序最小,这个从左往右去填充就行了,每次都有能取的最小的 数去填充进去,这样形成的序列自然符合 所以我们需要一个容器来存储能用的数,假设我们处理完i这个位置,要过度到下一个, 如果i+1还在这个区间还好,如果不在,那么…