洛谷——P1107 最大整数】的更多相关文章

P1107 最大整数 题目描述 设有n个正整数 (n<=20), 将它们连接成一排, 组成一个最大的多位整数. 例如: n=3时, 3个整数13, 312, 343连接成的最大整数为: 34331213 又如: n=4时, 4个整数7,13,4,246连接成的最大整数为: 7424613 输入输出格式 输入格式: n n个数 输出格式: 连接成的多位数 输入输出样例 输入样例#1: 复制 3 13 312 343 输出样例#1: 复制 34331213 输入样例#2: 复制 4 7 13 4 2…
http://codevs.cn/problem/1860/ || https://www.luogu.org/problem/show?pid=1107#sub 题目描述 Description 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 输入描述 Input Description 第一行一个正整数n. 第二行n个正整数,空格隔开. 输出描述 Output Description 连接成的多位数. 样例输入 Sample Input Sample 1: 3 13…
一道DP. 给你一个矩阵里面有很多数,你需要从上往下找到一种跳跃方法使得经过的点的价值之和最大. 具体题面见链接 洛谷P1107 BZOJ1270 很明显是一个二维的DP. #include<bits/stdc++.h> using namespace std; int N, H, Delta; int t[2020][2020];//t为原始生成的图,同时也作为保存状态的二维数组 int dp[2020];//dp[i]表示高度为i时取得的最大价值 inline void input(){/…
P1151 子数整数 题目描述 对于一个五位数a1a2a3a4a5,可将其拆分为三个子数: sub1=a1a2a3 sub2=a2a3a4 sub3=a3a4a5 例如,五位数20207可以拆分成 sub1=202 sub2=020(=20) sub3=207 现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1,sub2,sub3都可被K整除. 输入输出格式 输入格式: 输入由键盘输入,输入仅一行,为正整数K 输出格式: 输…
题目分析: 首先这题的询问和位(bit)有关,不难想到是用线段树维护位运算. 现在我们压32位再来看这道题. 对于一个加法操作,它的添加位置可以得到,剩下的就是做不超过32的位移.这样根据压位的理论.它最多只会对线段树的两个叶子产生影响,我们分开来考虑两个叶子. 对于一个加法的进位,它实际就是把它之后连续的全为1的位赋值成0,然后更改第一个不是全为1的位,不难想到用lazytag实现. 减法操作与加法操作相反.所以我们要两个标记和两个lazy标记. 对于一个询问,在线段树上查找即可. 代码: #…
题目 这个题可以说是一个很基础偏中等的\(DP\)了,很像\(NOIpD1T2\)的难度,所以这个题是很好想的. 简化题意 可以先简化一下题意,这个题由于从上面向下调和从下向上爬都是一样的,所以我们就可以轻松的想到暴力的方法. 设\(dp[i][j]\)表示i编号的树的j高度从一开始跳最多能吃多少柿子,每次都选择\(max\)(当前这个树下面一格的柿子数,其他树下面跳\(delta\)格的柿子数). 但是这样的时间复杂度是非常大的,主要就在我们在计算出每一高度的所有树的dp之后,下次我们再用到这…
雷涛的小猫 题目链接 n^2DP比较好想, f[i][j]表示第i棵树高度为j的最大收益 直接从上到下转移即可,每次记录下max f[1~n][j] 用于下面的转移 f[i][j]=max(f[i][j-1],max(f[1~n][j-Delta])) max(f[1~n][j-Delta])是已经求出来的,O(1)查询 枚举j和i,总复杂度为O(n^2) #include<iostream> #include<cstring> #include<cstdio> usi…
题面 以下是luogu给的标签 但字符串是什么鬼.... 玄学... 哦吼~ #include<cstdio> #include<iostream> using namespace std; #define gc ch=getchar() inline int read() { ,f=; char gc; ; +ch-'; return x*f; } #undef gc ],a[][],dp[][]; int main() { n=read(); h=read(); d=read(…
题目链接 https://www.luogu.org/problemnew/show/P3822 想法 这个啊,就是线段树哇 最初的想法是每位一个节点,然后进位.退位找这一位前面第一个0或第一个1,然后把中间一段修改了即可 但是每位一个节点太浪费了,会超时,故可以压位,30位一个节点 要找每个点前面第一个0或1的话,可以记录一下每个区间里是否全0或全1,不停地维护 反正基本思路就是这样,但是代码真心挺恶心的,调了一天呢!NOI题真是毒瘤! (初三一模前两天调这个代码,酸爽啊--qwq) 代码 #…
\(\mathcal{Description}\)   Link.   求 \[\sum_{m>0\\a_{1..m}>0\\a_1+\cdots+a_m=n}\prod_{i=1}^mf_{a_i} \]   其中 \(f_i\) 为 Fibonacci 数列第 \(i\) 项(\(f_0=0,f_1=1\)),答案对 \(10^9+7\) 取模.   \(n\le10^{10^4}\). \(\mathcal{Solution}\)   记 \(F(x)\) 为 \(\{f\}\) 的 O…