![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
构造
文章平均质量分 67
HouseFangFZC
oo
展开
-
CodeForces 379D New Year Letter
题意: 构造 s1 和 s2 两个字符串使他们满足要求: 1. s1 长度 n s2 长度 m 2.如果按照 s[i] = s[i-2] + s[i-1] 的方法构造字符串(“+”就是 strcat ) 那么 s[k] 中必须正好出现 x 次字符串 “AC” 如果能构造出来就输出 s1 和s2 如果不能就输出 新年快乐 思路: 由于 “AC” 字符串只有两个字符 所原创 2014-01-04 15:52:05 · 917 阅读 · 0 评论 -
ZOJ 3810 A Volcanic Island
题意: n*n的格子 将它分成n份大小为n的连通块 要求每个块形状不同 用4种颜色将格子染色后输出 思路: 纯构造题 考验智商 不过还是有思路可寻的 首先这题要想到将格子分区域的去做(想不到就没办法了…)假设我们两行为一个区域 那么将这两行划分成两个面积为n的块之后发现它们的形状必然相同 因此两行不行 所以我们尝试3行为1个区域!! 可以构造: 这样构造就可以保证形原创 2014-09-09 13:33:20 · 1705 阅读 · 0 评论 -
CodeForces 405D Toy Sum
题意: 从1到10^6的数字 X子集合有其中n个数 每个数的值为 如果这个数 思路: 可以想到对称的去找数字 如果一个数字没和与它对称的数字同时出现在X中 则Y中就放与它对称的数字 如果同时出现 我们可以证明 只需要找与它们值的和相同的一对同时不出现在X中的数字就可以 证明很简单 如果X中m个不成对出现 除去它们和与它们对称的数字还剩下amount - 2*m个原创 2014-03-25 21:57:13 · 910 阅读 · 0 评论 -
CodeForces 395B iwiwi
题意: 构造n长度的由w和i组成的串 要求相邻串一步变化得到 思路: 神奇的构造 队友说多些几组就看出规律了- -b 我不适合乱搞… 代码: #include #include #include #include #include #include using namespace std; int n; vector x,y,tmp; int main() {原创 2014-02-16 16:18:14 · 794 阅读 · 0 评论 -
CodeForces 388B Fox and Minimal path
做了4天ICM 感觉脑子都坏掉了… CF落下了2场的题 赶紧追 >. 题意: 最多用1000个点 画出一幅图 要求满足1节点到2节点的最短路条数为k 输出这幅图的邻接矩阵 思路: 一看k的值10^9 果断开始构造最短路的走法 直觉告诉我们要采用类似BFS的方式(一层一层的加点 这样满足构造出的路径等长) 我首先想的是利用素数去构造 因为素数能构造出合数原创 2014-02-12 15:21:56 · 1137 阅读 · 0 评论 -
CodeForces 375A Divisible by Seven
题意: 一堆数字一定包含1、6、8、9 可以任意调整顺序 最后排成的数字要求被7整除 思路: 1、6、8、9一定有古怪… 所以假设它们就是后四位 前面所有位%7剩下的数字无非0~6 写程序打表 发现很神奇的现象 对于每种余数总有一个排列可以让它被7整除 注意处理0 反正都能整除就记录0的个数然后写在最后 代码: #include #include #i原创 2014-02-22 19:03:53 · 972 阅读 · 0 评论 -
USACO Section 3.2 Stringsobits
题意: N位二进制数1的个数不超过L个 求 第i个数是多少 思路: 一开始以为是用二进制暴力就行 事实证明我是213 - -b 这题就应该去构造 但是简单的用dfs构造然后计数还是会TLE 因此想到去组合 假如现在想求第k位是0还是1 可用的所有的1全在1~k-1位的种类数为x 如果x 如此就可以先dp打一个杨辉三角的组合数表 然后根据不同位置形成的种类数判断0原创 2014-01-29 17:51:25 · 694 阅读 · 0 评论 -
USACO Section 1.5 Prime Palindromes
题意: 输入a和b 求 a和b之间所有既是素数同时又有回文性质的数 从小到大输出 思路: 如果枚举a到b之间所有的数再判断素数和回文那么复杂度会比O(n)还大 本题O(n)都会跪 因此思路转到能否 先得到所有素数再判断回文 或者 先得到所有回文的数在判断素数 本题我的做法是后者 说下原因 本题b最大为10^8 因此构造回文的数字可以枚举1~10000中的数字再对数字翻原创 2014-01-19 14:07:07 · 714 阅读 · 0 评论 -
USACO Section 3.1 Humble Numbers
题意: 已知一个集合S 由S的任意子集作为因子 可构造出一个数字 求 这些构造出的数字中第k大的数字是多少 思路: 拿到这题就被“数字不是很多而且比较连续暴力枚举就好”这个思路迷惑了 果断TLE… 跪了一次后想到通过bfs构造可取 这时用了queue维护bfs 用priority_queue维护答案(大顶堆 内部最多k个数字) 用set判重复(5*2=2*5)原创 2014-01-25 12:06:13 · 640 阅读 · 0 评论 -
CodeForces 484A Bits
题意: 10000个询问 每个询问输入L和R(10^18) 输出在区间内二进制表示下1最多的数字 如果1个数相同输出最小的 思路: YY一下 觉得后几位全是1的时候能保证1的个数多 那么如何构造出这个数字呢?? 将L和R都变成二进制 从高位到低位 L和R相同的那几位一定是不变的 因为要保证构造出的数字在区间内 然后分两种情况 一是L和R一直相同 那就没什么好说的了原创 2014-11-19 19:24:31 · 851 阅读 · 0 评论