随笔分类 - set
1
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你遍历n个节点,访问过的节点不操作。 如果是没有访问过的点,那就把它加到序列的末尾. 问你形成的最小字典序的序列是多少。 【题解】 显然每次找最小的标号 用一个集合维护当前能够到达的最小标号 一开始集合里面只有1 然后每次取出来最小的节点然后到达那个节
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 用set搞。 (因为规定了不会有相同特点值的东西。 所以可以不用multiset. 那么每次用lower_bound找离它最近的配对就好了 【代码】 cpp include define ll long long using n
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 每天的最小波动值指的是和之前所有天的差值的绝对值中的最小值。 用set.的lower_bound函数。 每次找和他差值最小的数字就好。 (不要用lower_bound(myset.begin(),myset.end(),x) 这
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 那个D函数它的下降速度是很快的。 也就是说到最后他会很快的变成2或者1 而D(2)==2,D(1)=1 也就是说,几次操作过后很多数字实际上就不会发生变化了。 我们可以以这个为切入点。 可以用树状数组写,也可以用线段树写。 如果
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 double千万不要用==判断相等。。。 而且两个保留2位有效数字的数字x,y 判断它们相等应该这样。 int temp1 = round(x 100.0),temp2 = round(y 100.0); temp1==temp
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 每个背包只能装两个东西。 而且每个东西都要被装进去。 那么我们随意考虑某个物品。(不必要求顺序 这个物品肯定要放进某个背包里面的。 那么背包数递增。 那么剩余的空间。 只能装一个了。 要装谁呢? 肯定是尽可能装较大的.所以用up
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 类似尺取法。 用set判断这段区间有没有重复的数字。 有的话,就把头节点的那个数字删掉,直到没有为止。 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test sev
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 各组数据之间有空行! 且最后一行后面没有空行! 然后就是用set来模拟就好。 删除的时候,不着急删除。 因为并不用时刻输出集合大小。所以只要遇到了把它删掉就Ok. 把相同的合并那里。我直接暴力合并了。 因为 150 30 100
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 用map mmap[100];来记录每一个数据段某个字符串出现的行数,以及用来判断这个字符串在这一段中存不存在。 这里有一个地方要注意,千万不要在未确定这个字符串是否存在之前,调用mmap[i][s],因为这样,不管s存不存在,
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 用map+set写个模拟就好。 3个区域 书架、桌子、别人的手上。 其中前两个区域的书都能借出去。 【代码】 cpp include using namespace std; set mset1,mset2,mset3; map
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 用队列和multiset就能完成模拟 【代码】 cpp include using namespace std; int n, m; queue dl; multiset mset; int main() { //freopen
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 每个丑数x,都能生成3个丑数2x,3x,5x 则我们以1作为起点。 生成丑数。 每次取出set里面最小的那个数. 然后用它去生成其他的丑数。 加入到set里面. 然后再把set的头元素删掉就好。 取1500次. 不知道生成的哪一
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 用set来解决这个问题。 考虑如何表示 { {{}} }这个集合 我们可以把{}这个集合和一个数字映射 1 然后把1加入到某个set里面去 即 {1} 则这就对应了 { {} } 然后把{1}也用一个int对应 2 然后把2加入
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 用stringstream来处理中间的标点。 直接把他变成一个空格。 然后重新输入进去。 set默认的字典序就是升序的了。 【错的次数】 在这里输入错的次数 【反思】 在这里输入反思 【代码】 cpp include using
阅读全文
摘要:Submissions:445Solved:150DESCRIPTION In a city capture game, Mr. Van owns a Empire with a capital city ( marked 1 ). Initially, Mr. Van’s Empi...
阅读全文
摘要:time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Mike and some bears are playing a ga...
阅读全文
摘要:time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Recently Maxim has found an array of...
阅读全文
摘要:【链接】点击打开链接【题意】给你一棵n个点的树,每个点的美丽值定义为根节点到这个点的路径上的所有权值的gcd.现在,假设对于每一个点,在计算美丽值的时候,你可以将某一个点的权值置为0的话.问你每个点的最大美丽值可能是多少.【题解】从根节点开始进行dfs,在往下走的过程中,暴力用set记录下路径中把以...
阅读全文
摘要:【题目链接】:http://codeforces.com/contest/799/problem/B【题意】 告诉你每个人喜欢的衣服的颜色; 然后告诉你每件衣服的正面和背面的颜色以及它的价格; 只要某件衣服的正面或背面是某个人喜欢的颜色; 则那个人就会喜欢它; 然后每个人会挑自己最...
阅读全文
摘要:【题目链接】:http://hihocoder.com/problemset/problem/1329【题意】 【题解】 因为一开始是空的树,所以; n其实就代表了树中的最多元素个数; 则最坏的情况就是把所有元素都加进去; 然后再全部都删掉吧; 那也才2*n次操作; 完全可以用se...
阅读全文
1