HDU 6852 Increasing and Decreasing 构造】的更多相关文章

题意: 给你一个n,x,y.你需要找出来一个长度为n的序列,使得这个序列满足最长上升子序列长度为x,最长下降子序列长度为y.且这个序列中每个数字只能出现一次 且要保证最后输出的序列的字典序最小 题解: 因为要保证字典序最小,那么肯定是使用前n个数,即[1,n] 我们可以首先让下降子序列用最大的值,且把它们放在序列最后,例如n=10,x=5,y=5 那么我们就让下降子序列使用6,7,8,9,10.而且把这5个数反转一下变成10,9,8,7,6追加到序列尾部 那么剩下的n-y个数去构建出来一个最长上…
传送门:BNUOJ 52325 Increasing or Decreasing题意:求[l,r]非递增和非递减序列的个数思路:数位dp,dp[pos][pre][status] pos:处理到第几位 pre:前一位是什么 status:是否有前导零 递增递减差不多思路,不过他们计算的过程中像5555,444 这样的重复串会多算,所以要剪掉.个数是(pos-1)*9+digit[最高位],比如一位重复子串是:1,2,3,4...9,9个,二位重复子串:11,22,33,44,...,99,9个:…
题面: Problem I. Increasing or DecreasingInput file: standard inputOutput file: standard outputTime limit: 2 secondsMemory limit: 512 mebibytesWe all like monotonic things, and solved many problems about that like Longest Increasing Subsequence(LIS). H…
http://acm.hdu.edu.cn/showproblem.php?pid=6313 题意 让你构造一个矩阵使得里面不存在四个顶点都为1的矩形,并且矩阵里面1的个数要>=85000 分析 来自https://blog.csdn.net/qq_37025443/article/details/81221008 先从25*25的构造看起 10000 01000 00100 00010 0000110000 00100 00001 01000 0001010000 00010 01000 00…
几天前模拟区域赛的一道题,今天发现在草稿箱里直接补个博客. 感觉这还是一道很有意思的构造题. 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5573 题意: 给你一个二叉树,根节点为1,子节点为父节点的2倍和2倍+1,从根节点开始依次向下走k层,问如何走使得将路径上的数进行加减最终结果得到n. 分析: 首先明确由1.2.4...2k可以构造出所有小于2k+1的数,那么实际上只要走2的幂次即最左边的结点即可. 那么实际上这个过程就类似整数的二进制表…
HDU 6879 - Mine Sweeper 题意 定义<扫雷>游戏的地图中每个空白格子的值为其周围八个格子内地雷的数量(即游戏内临近地雷数量的提示) 则一张地图的值\(S\)为所有空白格子的值总和 现给定\(S\),要求构造出一张长度与宽度均不超过\(25\)的地图,使其值等于\(S\) 限制 \(1\leq T\leq 1001\) \(0\leq S\leq 1000\) 思路 这题过的人数应该是最多的,所以肯定是存在比我的想法更优更方便的解的 但是题解写的不是很清楚,所以还是写下了这…
http://acm.hdu.edu.cn/showproblem.php?pid=2256 题意:给定 n    求解   ? 思路: , 令  , 那么 , 得: 得转移矩阵: 但是上面求出来的并不是结果,并不是整数.需要加上, 由于 所以结果为 #pragma comment(linker, "/STACK:1024000000,1024000000") #include<bits/stdc++.h> using namespace std; #define rep0…
Problem Description You were driving along a highway when you got caught by the road police for speeding. It turns out that they\'ve been following you, and they were amazed by the fact that you were accelerating the whole time without using the brak…
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5741 [题目大意] 一个01相间的串,以0开头,给出的序列每个数字表示连续的0的个数或者1的个数,现在有m个询问,求0的个数为a且1的个数为b的串是否存在. [题解] 我们发现形如11001这样子以1为开头结尾的串是包含1001这样子的串的,同理以0为开头结尾的串也是包含了一些开头结尾数字相同的子串. 可以发现,当0的个数固定,1的个数是数轴上的一个区间,而且在0的个数相差1时,必定可以取到相同…
http://acm.hdu.edu.cn/showproblem.php?pid=5573 题意:给出一个满二叉树,根节点权值为1,左儿子为2*val,右儿子为2*val+1.现在有只青蛙从根节点出发,一步步往下走,在每个节点它都要选择加上该点的权值还是减去该点的权值,如果正好经过k个节点时总的权值和为n,那么这只青蛙就成功了,需要输出方案. 思路: 这道题目要注意到n<=(1<<k). 所以如果每次都走这棵二叉树的左节点的话,权值就是1,2,4,8,10,那么它就可以组成小于(1&l…
http://acm.hdu.edu.cn/showproblem.php?pid=6150 #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<vector> #include<stack> #include<queue> #include<cmath> #include<map> #…
Increasing Speed Limits Time Limit: 2000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 481    Accepted Submission(s): 245 Problem Description You were driving along a highway when you got caught by the road p…
题意: 构造一个\(N(10 \leq N \leq 80)\)个顶点\(M(N+3 \leq M \leq \frac{N^2} {7})\)条边的有向图,要满足如下条件: 每条边有一个\([1,M]\)之间的权值,而且每条边的权值都是独一无二的 该有向图是强联通的,即任意两点都互相可达 图没有自环,而且任意两点之间最多有一条边 可以从任意一点出发,经过任意条边,一条边可以走多次,再回到出发点 符合上述要求的路径权值之和为3的倍数 分析: 首先我们构造一个长度为\(N\)的环,而且环的权值之和…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4565 题目大意: 给出a,b,n,m,求出的值, 解题思路: 因为题目中出现了开根号,和向上取整后求余,所以用矩阵快速幂加速求解过程的时候,会产生误差,就很自然地想到了凑数,因为(a-1)^2<b<a^2,得出0<a-sqrt(b)<1,则无论n取多大,(a-sqrt(b))^n都是小于1的,(a-sqrt(b))^n 与 (a+sqrt(b))^n共轭,两者展开后会相互抵销,所以(…
大致题意:n*m的非负数矩阵,从(1,1) 仅仅能向四面走,一直走到(n,m)为终点.路径的权就是数的和.输出一条权值最大的路径方案 思路:因为这是非负数,要是有负数就是神题了,要是n,m中有一个是奇数.显然能够遍历.要是有一个偶数.能够绘图发现,把图染成二分图后,(1,1)为黑色,总能有一种构造方式能够仅仅绕过不论什么一个白色的点.然后再遍历其它点.而绕过黑色的点必定还要绕过两个白色点才干遍历所有点,这是绘图发现的.所以找一个权值最小的白色点绕过就能够了, 题解给出了证明: ,1)1,而棋盘中…
题意 :  长度不超过L,只由小写字母组成的,至少包含一个词根的单词,一共可能有多少个呢?这里就不考虑单词是否有实际意义. 比如一共有2个词根 aa 和 ab ,则可能存在104个长度不超过3的单词,分别为(2个) aa,ab, (26个)aaa,aab,aac...aaz, (26个)aba,abb,abc...abz, (25个)baa,caa,daa...zaa, (25个)bab,cab,dab...zab. 分析: 我们可以用Tire图跑矩阵快速幂的方法,去求长度为n不包含给定单词的词…
题意: 一个如果称作是漂亮数,当且仅当满足: 每一位上的数字是[1,9],从高到时低数字大小降序,且有di%dj=0(i<j) 例:931 给一个区间[L,R],问这个区间里有多少个漂亮数. 1≤L≤R≤109 思路: 漂亮数一看就很少.可以直接构造. 哎,,,用了DP+构造,写了好久...其实很简单的一个DFS构造就行了. 过些天补上代码.先贴冗长代码~ 代码: int T,L,R; int wei; int ans1,ans2,ans; int d[15], w[15]; int dp[15…
题意: For each three prime numbers p1, p2 and p3, let's define Hamming sequence Hi(p1, p2, p3), i=1, ... as containing in increasing order all the natural numbers whose only prime divisors are p1, p2 or p3. For example, H(2, 3, 5) = 2, 3, 4, 5, 6, 8, 9…
题意: 一个数的质因子如果只是2,3,5,7中的若干个.则这个数叫做humble number. 例如:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27, ... 给n,问第n个humble number是多少. 思路: 所有的humble数的构造都是:(2^a)*(3^b)*(5^c)*(7^d).a,b,c,d大于等于0. X=a+b+c+d代表这个数是第X个humble数. 假设前i-1个humble…
又是一道模板题 #include <iostream> #include <cstring> #include <cstdlib> #include <cstdio> #include <queue> #include <cmath> #include <algorithm> using namespace std; struct P { int x,y; double angle; } p[50010]; bool cm…
题意:给你 n 和 m,求一个1-n的排列,使得∑gcd(Ai,Ai+1) 恰为第  m 小. 析:可以想到最小的就是相邻都互质,然后依次,第 m 小就可以有一个是gcd为 k,然后其他的为1喽. 那么我们就可以想到把 m 和2*m 拿出来,然后让其他的都相邻,那么就一定是gcd为1. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <st…
题面传送门 提供一种不同于官方题解.需要的操作次数比官方题解多(官方题解大概是 \(2\times 16\),我这大概是 \(3\times 16\)),但能通过此题的做法. 首先我们考虑一个暴力,我们设一个阈值 \(B=2^k\)​​​​,然后我们考虑预处理出 \(1\sim B\)​​​ 中所有数,即,先一遍 p1,然后每次 dup 一遍,然后调用 add 指令给栈顶上的数加 \(1\)(显然此时 \(1\) 在栈中),如此操作 \(B-1\) 次即可让 \(1\sim B\) 中所有数都在…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4489 The King's Ups and Downs Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) 问题描述 The king has guards of all different heights. Rather than line them up in increasing o…
Problem Description Baby Ming collected lots of cell phone numbers, and he wants to sell them for money. He thinks normal number can be sold for b yuan, while number with following features can be sold for a yuan. .The last five numbers are the same.…
HDU 1000 A + B Problem  I/O HDU 1001 Sum Problem  数学 HDU 1002 A + B Problem II  高精度加法 HDU 1003 Maxsum  贪心 HDU 1004 Let the Balloon Rise  字典树,map HDU 1005 Number Sequence  求数列循环节 HDU 1007 Quoit Design  最近点对 HDU 1008 Elevator  模拟 HDU 1010 Tempter of th…
The King’s Ups and Downs Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 582    Accepted Submission(s): 409 Problem Description The king has guards of all different heights. Rather than line the…
/* HDU 6154 - CaoHaha's staff [ 构造,贪心 ] | 2017 中国大学生程序设计竞赛 - 网络选拔赛 题意: 整点图,每条线只能连每个方格的边或者对角线 问面积大于n的图形最少要几条线 分析: 可以发现面积相同的情况下,每条线都连对角的菱形是最优的 再考虑如何将 面积为x^2的菱形,每次扩展一条边, 按最优扩展为面积为(x+1)^2的菱形 然后就可以先二分,再判断了 */ #include <bits/stdc++.h> using namespace std;…
A - Wilbur and Swimming Pool Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 596A Description After making bad dives into swimming pools, Wilbur wants to build a swimming pool in the sha…
 Baby Ming and phone number Crawling in process... Crawling failed Time Limit:1500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 5611 Description Baby Ming collected lots of cell phone numbers, and he wants…
2.8.10.Enumeration, EnumEntry Enumeration节点把一个名称(name)映射到一个索引值(index value),并实现Ienumeration接口.Enumeration节点拥有一系列EnumEntries,每一个都表现为可能的{name, index}对.Enumeration节点从Node节点继承元素和属性.另外,它要么有一个表现当前索引值的<Value> ,要么有一个连接到IInteger节点的<pValue>元素. 下面的例子是用En…