[题目链接]:http://codeforces.com/problemset/problem/501/D [题意] 给你两个排列; 求出它们的字典序num1和num2; 然后让你求出第(num1+num2)%n!个排列是什么; (字典序); [题解] 首先. 求出两个排列的字典序: ->康拓展开搞出来; 然后得到 v1[1]∗(n−1)!+..+v1[i]∗(n−i)!+...+v1[n]∗(0)! 的形式 这里v1[i]是i+1..n中比a[i]小的数的个数; 同样的能够得到 v2[1]∗(…
Misha and Changing Handles CodeForces原题是英文,这里就直接上中文好了,翻译不是太给力,但是不影响做题 ^▽^ Description  神秘的三角洲里还有一个传说中的谜题等你来解开!三角洲里的小学生小明是个小天才,知天文晓地理还能夜观星象算命,好多疯狂的小朋友都想去请他给自己换个好听的名字.但是天才小明,他总是在思考31维宇宙空间的奥秘,神游天外,所以在给小朋友们敲他们想要的名字的时候,偶尔会取出一些不那么完美的名字.有的小朋友们换了名字以后不太满意,于是它…
[链接] 我是链接,点我呀:) [题意] 给你一棵树 但是每个节点只告诉你出度个数 以及所有和它相连的点的异或和. 让你还原这棵树 [题解] 叶子节点的话,他所有节点的异或和就是它那唯一的一个爸爸 因此,弄个拓扑排序,从最下层一直往上面进行拓扑排序,每次找到它的爸爸之后,就将这个儿子删掉.让爸爸的出边递减. 同时更新爸爸的异或和,直到爸爸没有儿子为止(也变成叶子节点了). (如果某个时刻chu[x]==0,那么x肯定是根节点了,说明找边的工作结束了.) [代码] #include <bits/s…
[链接] 我是链接,点我呀:) [题意] 题意 [题解] n为奇数时3n和7n+1奇偶性不同 n为偶数时也是如此 然后交换任意一对数 逆序对的对数的奇偶性会发生改变一次 求出逆序对 对n讨论得出答案. [代码] import java.io.*; import java.util.*; public class Main { static InputReader in; static PrintWriter out; public static void main(String[] args)…
题 题意 有n个点,代号分别为0到n-1,然后这n个点有d个相连点,相连点的XOR sum 为s,求所有的边. 分析 知识:a^b^a=b,a^b^b=a. 把相连点为1的i存进队列,i的唯一相连点就是S. 然后得到一条边i到s,对i的相连点S,d--,s^=i,就相当于去掉i这个点. 然后再判断S的相连点d是不是1,是1则进入队列. 直到队列为空. 代码 #include<cstdio> #include<algorithm> #include<queue> #def…
[codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=2000),问满足[数列长度是k && 数列中每一个元素arr[i]在1~n之间 && 数列中元素可以重复]的数列有多少个?结果对10^9+7取余 解题思路:dp[i][j]表示长度是j,最后一位是i的种数 if(kk%i==0) dp[kk][j+1]+=dp[i][j] #inc…
A - Misha and Permutations Summation 首先这个 mod n! 因为数量级上的差别最多只会对康拓展开的第一项起作用所以这个题并不需要把 ord (p) 和 ord (q) 的具体值算出来,因为最后还需要进行康托逆展开所以用一 个数组来储存对应的值即可然后利用变进制的思想把 s[ ] 数组处理一下即可 变进制处理 s[ ] 数组: for(int i=n-1;i>=1;--i) s[i-1]+=s[i]/(n-i+1),s[i]=s[i]%(n-i+1); 代码:…
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Kleofáš is participating in an n-thlon - a tournament consisting of n different competitions in n different disciplines (numbered 1 through n). T…
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Anton loves transforming one permutation into another one by swapping elements for money, and Ira doesn't like paying for stupid games. Help them…
[题目链接]:http://codeforces.com/contest/707/problem/E [题意] 给你一个n*m的方阵; 里面有k个联通块; 这k个联通块,每个连通块里面都是灯; 给你q个操作; 有以下两种类型 ①将第i个连通块里面灯取反 ②询问你(x1,y1)(x2,y2)这个矩形区域内灯的权值的和; [题解] 要用到二维的树状数组; 取反操作只要O(1)就能完成; 即先不管它是什么,取反就是了; 然后在询问的时候,直接用二维树状数组累加; 这里的累加可能是减也可能是加; 也可能…