![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
构造
Apollo-yyy
考研失败的华子5G工程师一枚
展开
-
codeforces 502 div1+div2 C. The Phone Number
题目大意: 给一个数列长度n,要求输出一个最长上升序列长度和最长下降数列长度和最小的数列。 解题思路: 这个我是靠观察答案蒙出来的。具体算法的证明我也不懂。。。。答案将数列分段,每一段都是连续上升数列,这样LIS的长度就是每一段的长度,LDS的长度就是它可以分为几段。分段的依据就是n的根号,例如小于9大于3的每段长度为2(LIS长度),大于9小于16的每段长度为3。另一个难点在于输出,之...原创 2018-08-09 14:29:22 · 208 阅读 · 0 评论 -
codeforces div3 494 B. Binary String Constructing
题目大意: 给你n个0和m个1,要求输出有k个不同的“01”字符串(比如010110有4个不同,1010101有6个不同)。 解题思路: 一个思维题。构造一个这样的字符串首先知道一个01或者10就有一个不同,n个就有2*n-1个不同,因为答案要求是k,所以n=k/2,理论上01或者10都可以,但是由于0和1数量不同所以数量多的先输出,比如0多就先输出01,最后根据k是奇数还是偶数还有n,...原创 2018-08-13 15:41:49 · 145 阅读 · 0 评论 -
codeforces round 506 div3 C. Maximal Intersection
题目大意: 给你n的区间,要求输出n-1个区间的最长交集的长度(也就是需要删除一个区间) 解题思路: 当时没啥头绪,还以为是和容斥有关,主要是不知道如何求公共交集的长度。 今天看了下网上的代码,大致理解了过程。 对于n个区间来说,它们公共的交集长度就是最大左边界和最小右边界的差的绝对值。注意这个交集是这n个区间的子集合,当时没理解这一点,以为是只要是交集就行。那么保存下所有的左边界和...原创 2018-08-26 10:25:10 · 201 阅读 · 0 评论 -
一卡通大冒险
解题思路: 一个简单的递推关系,当前有n张一卡通的话,那么它有从1-n种状态,每一种状态可以从上一个状态也就是n-1张一卡通哪里推出,比方说有3张一卡通我要求它放在两本书中有多少种方法,那么它就有两种情况: 1.从2张一卡通放在一本书中,然后我在加一本书放第三张. 2.从2张一卡通放在两本书中,然后我分别往每一本书里插入第三张,2本书就有两种可能。 代码如下: #include&...原创 2018-08-22 20:42:16 · 319 阅读 · 0 评论 -
Fibonacci
题目大意: 算第n个斐波那契数 解题思路: 根据题意来看就是一个矩阵快速幂的模板题,利用脑海中残留的快速幂知识然而忘了怎么算矩阵乘法,于是用人类最原始的暴力思维一个个枚举算了。。。所幸只是一个2×2的矩阵,然而还是算错了几步调试了半天。。还是要提高姿势水平啊。 暴力代码如下: #include<iostream> #include<cstdio&am原创 2018-08-24 08:39:04 · 1486 阅读 · 0 评论 -
codeforces round 497 div2
题目大意: 给你一个数组,找里面有多少个数可以改变位置使其大于原来位置上的数。 解题思路: 一个思维题,存在一种可能就说明存在一个数大于另一个数。那么首先排序,然后从大到小寻找可以满足条件的对数,找到一个就要标记一个。这个题对时间卡的比较严格。如果在一轮中没有找到过的话,就证明后面所有的数全部相等,就没有必要在找下去了,程序结束。 代码如下: #include<iostre...原创 2018-09-04 22:14:49 · 143 阅读 · 0 评论