构造
luckyone2014
想思路是苦涩艰辛的,但是打代码是愉快的。
展开
-
zoj 3810 A Volcanic Island 构造不同图形
让你在n*n图中构造出GRYB四种颜色组成的图型,相邻图形颜色不通。面积全为n,个数也是n;然后各个图形形状绝对不同,也就是旋转或者对称变换后,仍然与所有其他块形状不通;原创 2014-09-09 20:33:07 · 687 阅读 · 0 评论 -
hdu 5014 Number Sequence 位运算+规律
题意:输入n,然后输入n+1个数,是【0,n】中不同的数。然后再找到一种排列,也是【0,n】中不同数组成的; 然后一一对应,异或后相加;输入结果 和新数列原创 2014-09-15 20:07:11 · 749 阅读 · 0 评论 -
ural 2004. Scientists from Spilkovo 构造
题意: 输入一个n,然后把0-2^n-1 ,一次做为x 带入F ( x , n ) ,然后把得到的数转化为长度为n的二进制数 字符串。然后构造一条最短的二进制数,里面的子串要包含所有之前的到的二进制数 字符串。 做法:暴力一下发现 处理过后 数字还是 0-2^n-1; 那么那n=3 为例,就要构造出含有以下 二进制字符串 的字符串: 000 001 010 011 100 101 110 111 从111开始,然后从第二个数位开始 ,至末尾,再添加一个二进制数 0 或1, 要求新得到的是未出现的二原创 2015-02-12 15:18:29 · 549 阅读 · 0 评论 -
URAL 1614. National Project “Trams” 构造
题意: 输出n行,每行2*n个数。要求这2*n个数字能 两两相邻。 做法: 因为相邻的一共有n*(n-1)/2 对, 而把2*n个数字 两两互连,也是 n*(n-1)/2 对,所以每两个数之间是不能重复相邻的。 所以两侧 肯定是 123456 ,各个数字都出现一遍。 构造的方法是看别人的,首尾互取,然后把数列往后推1格,再首尾互取。 以n=3为例: 123456, 首尾互取 162534 为第一行 234561 首尾互取 213645 为第二行 345612 首尾互取 324156原创 2015-03-22 22:24:59 · 674 阅读 · 0 评论 -
hdu 4850 Wow! Such String! 构造 欧拉回路
题意:输出长度为n,长度为4的子串不能重复出现的 小写字母组成的 字符串。 做法:最大长度为4的字符串一共有 26^4个, 如果他们都能连接 如 aaaa 和aaab 可以连接为 aaaab。 如果能都连接的话,最长 长度为26^4+3= 456979。 构造,先把 相同的 构造好, aaaabbbbccccdddd.....yyyyzzzz。把出现过的存在一个4维数组里 如 aaaa,就把dp[0][0][0][0]=1。 如 aazz 就把dp[0][0][25][25]=1; 然原创 2015-05-09 10:45:14 · 1465 阅读 · 1 评论 -
hdu 5355 Cake dfs暴搜 构造
题意:把有n块蛋糕, 大小分别是1-n。 分给m个人, 个数随便,大小和要全相等。 做法:其实那两个不合法的情况,做比赛时队友已经发现了。后来按照 最大的 和某一个小的数 凑对,贪心来做。 比赛时Ac了。赛后数据加强 ,这种方法在数据23 6时会有bug。 然后根据题解,在数字大于m*4 的时候 从大到小, 蛇形分配。原创 2015-08-07 19:41:05 · 744 阅读 · 3 评论