一个1到n序列,合理排序逆序对数要求是m,而且字典序要求最小: 这个题,因为数字只能用一次,所以我们可以知道什么位置放什么数逆序对的个数会增加或减少多少: 先求出最多能产生的数量,每次先输出最小的数,用总数减去减少的逆序对数: 如果不够的时候就要用大数排在前面: vector,记得输出一个删一个: #include<cstdio> #include<vector> #include<cstring> #include<algorithm> using nam…
P1372 又是毕业季I 题目背景 “叮铃铃铃”,随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌.1000多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定是一生最难忘的时刻! 题目描述 为了把毕业晚会办得更好,老师想要挑出默契程度最大的k个人参与毕业晚会彩排.可是如何挑呢?老师列出全班同学的号数1,2,……,n,并且相信k个人的默契程度便是他们的最大公约数(这不是迷信哦~).这可难为了他,请你帮帮忙吧! PS:一个数的最大公…
P1338 末日的传说 题目描述 只要是参加jsoi活动的同学一定都听说过Hanoi塔的传说:三根柱子上的金片每天被移动一次,当所有的金片都被移完之后,世界末日也就随之降临了. 在古老东方的幻想乡,人们都采用一种奇特的方式记录日期:他们用一些特殊的符号来表示从1开始的连续整数,1表示最小而N表示最大.创世纪的第一天,日历就被赋予了生命,它自动地开始计数,就像排列不断地增加. 我们用1-N来表示日历的元素,第一天日历就是 1, 2, 3, - N 第二天,日历自动变为 1, 2, 3, - N,…
P1414 又是毕业季II:https://www.luogu.org/problemnew/show/P1414 题意: 给定一个长度为n的数列.要求输出n个数字,每个数字代表从给定数列中最合理地取出 i 个数后的最大公约数. 思路: 枚举因子,复杂度为n*(sqrt(max)),若一个因子x出现了k次,那么说明从数列中取出 k 个数至少可以得到最大公约数x. * 1. 求出每个因数出现的次数. * 2. 对于每个次数记录最大的因数. * 3. 根据f[k]=max(f[k],f[k+1])逆…
洛谷题目链接:末日的传说 题目描述 只要是参加jsoi活动的同学一定都听说过Hanoi塔的传说:三根柱子上的金片每天被移动一次,当所有的金片都被移完之后,世界末日也就随之降临了. 在古老东方的幻想乡,人们都采用一种奇特的方式记录日期:他们用一些特殊的符号来表示从1开始的连续整数,1表示最小而N表示最大.创世纪的第一天,日历就被赋予了生命,它自动地开始计数,就像排列不断地增加. 我们用1-N来表示日历的元素,第一天日历就是 1, 2, 3, - N 第二天,日历自动变为 1, 2, 3, - N,…
题目传送门 又是毕业季 题目背景 “叮铃铃铃”,随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌.1000多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定是一生最难忘的时刻! 题目描述 彩排了一次,老师不太满意.当然啦,取每位同学的号数来找最大公约数显然不太合理.于是老师给每位同学评了一个能力值.于是现在问题变为,从n个学生中挑出k个人使得他们的默契程度(即能力值的最大公约数)最大.但因为节目太多了,而且每个节目需要的人数又不…
题目链接:https://www.luogu.org/problemnew/show/P1338 题目描述 只要是参加jsoi活动的同学一定都听说过Hanoi塔的传说:三根柱子上的金片每天被移动一次,当所有的金片都被移完之后,世界末日也就随之降临了. 在古老东方的幻想乡,人们都采用一种奇特的方式记录日期:他们用一些特殊的符号来表示从1开始的连续整数,1表示最小而N表示最大.创世纪的第一天,日历就被赋予了生命,它自动地开始计数,就像排列不断地增加. 我们用1-N来表示日历的元素,第一天日历就是 1…
题目描述 只要是参加jsoi活动的同学一定都听说过Hanoi塔的传说:三根柱子上的金片每天被移动一次,当所有的金片都被移完之后,世界末日也就随之降临了. 在古老东方的幻想乡,人们都采用一种奇特的方式记录日期:他们用一些特殊的符号来表示从1开始的连续整数,1表示最小而N表示最大.创世纪的第一天,日历就被赋予了生命,它自动地开始计数,就像排列不断地增加. 我们用1-N来表示日历的元素,第一天日历就是 1, 2, 3, … N 第二天,日历自动变为 1, 2, 3, … N, N-1 ……每次它都生成…
题目描述 只要是参加jsoi活动的同学一定都听说过Hanoi塔的传说:三根柱子上的金片每天被移动一次,当所有的金片都被移完之后,世界末日也就随之降临了. 在古老东方的幻想乡,人们都采用一种奇特的方式记录日期:他们用一些特殊的符号来表示从1开始的连续整数,1表示最小而N表示最大.创世纪的第一天,日历就被赋予了生命,它自动地开始计数,就像排列不断地增加. 我们用1-N来表示日历的元素,第一天日历就是  1, 2, 3, … N 第二天,日历自动变为 1, 2, 3, … N, N-1……每次它都生成…
题目描述 只要是参加jsoi活动的同学一定都听说过Hanoi塔的传说:三根柱子上的金片每天被移动一次,当所有的金片都被移完之后,世界末日也就随之降临了. 在古老东方的幻想乡,人们都采用一种奇特的方式记录日期:他们用一些特殊的符号来表示从1开始的连续整数,1表示最小而N表示最大.创世纪的第一天,日历就被赋予了生命,它自动地开始计数,就像排列不断地增加. 我们用1-N来表示日历的元素,第一天日历就是 1, 2, 3, - N 第二天,日历自动变为 1, 2, 3, - N, N-1 --每次它都生成…