P7706 文文的摄影布置 题解】的更多相关文章

Analysis 给定一个f*v的矩阵 要求从第一行走到第f行,每行取走一个数, 且该行所取的数必须必上一行所取的数的列数大 , 求所能取走的最大值 注意每一行所取走的数字的列数必须大于等该行的行号 因为必须给前面的花留下足够的花瓶 同理每一行所能取的最大的花瓶号必须小于等于v-(f-该行行数) 由此我们便可以很容易的得出状态转移方程 dp[i][j]=max(dp[i-1][k])+d[i][j](k<j)dp[i][j]=max(dp[i−1][k])+d[i][j](k<j) 其中dp[…
洛谷P1854 花店橱窗布置 分析+题解代码 蒟蒻的第一道提高+/省选-,纪念一下. 题目描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V是花瓶的数目.花束可以移动,并且每束花用1到F的整数标识.如果I < J,则花束I必须放在花束J左边的花瓶中.例如,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有花束在放入花瓶时必须保持其标识数的顺序,即杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必…
题解 斜率优化裸题. 有个很玄学的事情,就是我用\(f[i]=min\{f[j-1]+p[j].y*p[i].x\}\) 会很奇怪的Wa . 明明和\(f[i]=min\{f[j]+p[j+1].y*p[i].x\}\)一模一样的呀! 如果有dalao愿意帮忙看一下就感激不尽了. 附上正确代码和错误代码 正确代码: #include<bits/stdc++.h> typedef long long ll; using namespace std; const int maxn = 5e4+10…
题解 我们把伤害-时间图像画出来.然后维护一下僵尸血量的前缀和.最好情况肯定是有一个僵尸恰好死在戴夫家门口.我们把原点到其他n个点的斜率最大的一个累积到答案. 发现每添加一个点,其他所有点的坐标都变了,但是相对位置没有变,所以我们随便维护一个原点位置就行了. 在n个点中寻找的时候,我们维护一个上凸壳,然后随便二分就行了.二分条件是,他左边的斜率小于他的斜率. #include<bits/stdc++.h> using namespace std; typedef long long ll; s…
题解 我们枚举建厂的位置,发现有个\(n^2\)的DP.随手搞个斜率优化到\(O(n)\). #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 21000 ; const ll inf = 100000000000000LL; int n; ll f[maxn]; ll w[maxn],s[maxn],m[maxn],h[maxn],cnt[maxn]; ll d[maxn],…
题解 挺水的一道题. Rating $ \color{orange} {2300}$ 以下送命题. 首先我们知道,所有子树大小之和就是节点个数加上从根到所有节点的路径长度之和. 他要求度数尽可能小,所以我们二分度数\(k\).显然,度数越小,子树和越大. 对于一个\(k\)叉树,他的子树大小之和为\(n+k^2+k^3+...+rem\) 我们通过二分得到最大的边界\(k\) 然后,此时我们的子树大小\(s\)是要小于等于规定的子树大小和的. 我们考虑扩大子树大小. 显然,我们让某些节点,往深度…
基本上是一个斜率优化裸题了 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e6+10; ll s[maxn],x[maxn],n,a,b,c,f[maxn],ss[maxn]; int q[maxn]; double slope(int l,int r) { double tmp1 = f[r]-b*s[r]+a*ss[r]-f[l]+b*s[l]-a*ss[l]; do…
把二维压成一维的DP了解一下... 传送门 (以纪念神经兮兮调了两天的一维DP(刷水题谋财害命)以及感谢学长的帮助@ydnhaha) 显然我们有二维的dp:f[i][j]代表第i盆花放到第j个位置 ;i<=n;i++) for(R j=V-(n-i);j>=i;j--) ;k>=i-;k--) ][k]+w[i][j]) ans[i][j]=k,f[i][j]=f[i-][k]+w[i][j]; 由于只访问上一个状态,我们可以理所应当的把它压掉 注意,需要倒序循环(好吧我的二维的也是倒序…
Problem A: pigofzhou的巧克力棒 Description 众所周知,pigofzhou有许多妹子.有一天,pigofzhou得到了一根巧克力棒,他想把这根巧克力棒分给他的妹子们.具体地,这根巧克力棒长为 n,他想将这根巧克力棒折成 n 段长为 1 的巧克力棒,然后分给妹子们. 但是他妹子之一中的 15zhazhahe 有强迫症.若它每次将一根长为 k 的巧克力棒折成两段长为 a 和 b 的巧克力棒,此时若 a=b,则15zhazhahe会得到一点高兴值. pigofzhou想知…
题目描述 定义 \(d(n)\) 为 \(n\) 的正因数的个数,比如 \(d(2) = 2, d(6) = 4\). 令 $ S_1(n) = \sum_{i=1}^n d(i) $ 给定 \(n\),求 \(S_1(n)\). 输入格式 第一行包含一个正整数 \(T\) (\(T \leq 10^5\)),表示数据组数. 接下来的 \(T\) 行,每行包含一个正整数 \(n\) (\(n < 2^{63}\)). 输出格式 对于每个 \(n\),输出一行一个整数,表示 \(S_1(n)\)…