地址:http://arc080.contest.atcoder.jp/tasks/arc080_b 题目: D - Grid Coloring Time limit : 2sec / Memory limit : 256MB Score : 400 points Problem Statement We have a grid with H rows and W columns of squares. Snuke is painting these squares in colors 1, 2…
C - 4-adjacent Time limit : 2sec / Memory limit : 256MB Problem Statement We have a sequence of length N, a=(a1,a2,-,aN). Each ai is a positive integer. Snuke's objective is to permute the element in a so that the following condition is satisfied: Fo…
手贱去开了abc,这么无聊.直接arc啊 C - 4-adjacent Time limit : 2sec / Memory limit : 256MB Score : 400 points Problem Statement We have a sequence of length N, a=(a1,a2,…,aN). Each ai is a positive integer. Snuke's objective is to permute the element in a so that…
地址:http://arc080.contest.atcoder.jp/tasks/arc080_c 题目: E - Young Maids Time limit : 2sec / Memory limit : 256MB Score : 800 points Problem Statement Let N be a positive even number. We have a permutation of (1,2,…,N), p=(p1,p2,…,pN). Snuke is constru…
地址:http://arc080.contest.atcoder.jp/tasks/arc080_a 题目: C - 4-adjacent Time limit : 2sec / Memory limit : 256MB Score : 400 points Problem Statement We have a sequence of length N, a=(a1,a2,…,aN). Each ai is a positive integer. Snuke's objective is to…
题目传送门:https://arc080.contest.atcoder.jp/tasks/arc080_c 题目翻译 给你一个\(n\)的排列\(p\),一个空序列\(q\),你每次可以从\(p\)里选择相邻的两个元素按照原本的顺序放在\(q\)的首位.问可以得到的排列字典序最小是什么.长度小于等于\(2*10^5\) 题解 我们考虑倒着做.看看能最后一个被取出来的数最小是什么.显然,能在最后一对被取出来的数对第一个数在奇数位,第二个数在偶数位. 我们可以对奇数位的数字维护一个\(st\)表,…
http://arc061.contest.atcoder.jp/tasks/arc061_b 题意: H行W列的矩阵中,然后挖了n个洞,输出j(0-9)行,对于第i行输出,有多少个3*3区域中有i个洞: 思路: 对于一个黑色的格子,只有9个3*3的矩阵才能包含他. 所以只有处理m个黑格子就行了. 对于每个黑格子,我默认把3*3的左上角代表这个矩阵. 这样还不够,因为没有那么大的矩阵表示方法,所以换一个表示就是把矩阵中每个格子标记: 处理一下,最后输出就好了: #include <bits/st…
原文链接http://www.cnblogs.com/zhouzhendong/p/8934377.html 题目传送门 - ARC080 E - Young Maids 题意 给定一个长度为$n$的序列$p$,$p$为$1\cdots n$的一个排列. 现在让你每次取出序列$p$的相邻两个,然后把他们按照原来的顺序放进序列$q$的最前面.注意每次这样的操作之后,$p$序列的剩余两半都会合并起来. 不断进行上述操作,直到$p$为空. 最小化序列$q$的字典序,并输出序列$q$. $n\leq 2…
给你一个1~n的排列p,n是偶数,每次从中任选一对相邻的数出来,插到排列q的开头,如此循环,问你所能得到的字典序最小的排列q. 我们先确定q开头的两个数q1,q2,q1一定是p的奇数位的最小的数,而q2一定是q1后面最小的偶数位的数,这很显然. 然后记q1,q2在p中的位置分别是L,R,把p分成三段[1,L],[L+1,R-1],[R+1,n],递归处理,当前区间[l,r],每次取的一对的左端点L必然是与当前区间左端点l奇偶性相同的最小的数,而R必然是L右侧与当前区间左端点l奇偶性不同的最小的数…
$n \leq 12,m \leq 12$,$n$行$m$列小写字母,现可做无数次操作:交换两行:交换两列.问是否有可能把他变成中心对称的. 没有去想分组枚举的复杂度QAQ 行和列的操作顺序是随意的.假如说在一种最优方案中,操作是行行行……行列列列……列行行行……行列列列……列,那您把后面那堆行和前面那堆列换一下准保没问题:在一行的字母是不会变成不在同一行的,在一列的字母是不会变成不在同一列的,所以我瞄准最优方案,先把行放好位置,然后调列,一定能调好.可能比较抽象,反正他是对的,具体证明出门见其…