F. Mattress Run 题解】的更多相关文章

F. Mattress Run 挺好的一道题,对于DP的本质的理解有很大的帮助. 首先要想到的就是将这个拆成两个题,一个dp光求获得足够的夜晚的最小代价,一个dp光求获得足够的停留的最小代价. 显然由于这个题需要存储的信息很大,我们设状态时就要思考如何才能在规定的时间内完成而不超时. 请求有5000个,若设与请求有关的状态,例如:我们设f[i][j],表示当前在请求i,获得的资格j的最小代价,确实,因为我们知道了请求i的所有信息,包括结束时间,所在的旅馆号的信息,但在状态转移时,难免要枚举上一次…
第一次写博客 ,请多指教! 翻了翻前面的题解发现都是用树状数组来做,这里更新一个 线段树+离散化的做法: 其实这道题是没有必要用线段树的,树状数组就能够解决.但是个人感觉把线段树用熟了会比树状数组更有优势一点 不多废话  http://codeforces.com/contest/1311/problem/F 题目链接 题意是 给你一堆点的位置和他们运动的速度(可正可负),然后时间无限往后推的情况下问你他们之间所有点的最小距离之和.(不明白自行读题) n的范围是2,200000: 显然单纯的一个…
Content 给定 \(T\) 个二次函数 \(y=ax^2+bx+c\),有若干次操作,有一个操作编号 \(p\),保证仅为以下这五种: 操作 \(1\):给定 \(k\),将函数图像向上移动 \(k\) 格(\(k<0\) 就是向下移动 \(-k\) 格). 操作 \(2\):给定 \(k\),将函数图像向右移动 \(k\) 格(\(k<0\) 就是向左移动 \(-k\) 格). 操作 \(3\):给定 \(k_1,k_2\),将函数图像关于点 \((k_1,k_2)\) 对称. 操作…
X mod f(x) Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2792    Accepted Submission(s): 1101 Problem Description Here is a function f(x): int f ( int x ) { if ( x == 0 ) return 0; return f (…
比赛网址:https://ac.nowcoder.com/acm/contest/994#question B FYZ的求婚之旅 思路: 然后用快速幂即可. 细节见代码: #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <queue> #include <stack>…
[题目大意] 大致题意就是,你的初始坐标为\(x\),你要去数轴上的\(n\)个点,问你到达所有点的时间总和最小是多少. 直接贪心肯定不行,所以考虑\(DP\) 先把坐标离散(也就是预处理两点距离\(dis[i][j]=abs(a[i]−a[j])\)) 接下来考虑如何dp. 关注到一个性质,如果到目前为止,奶牛吃过最左的草堆编号为\(l\),吃过最右的草堆编号为\(r\),则如果奶牛不是傻它肯定把\([l,r]\)的草堆都吃过了,因为它吃草速度是瞬时的,都经过了肯定要嫖一口. 那很明显应该是个…
B. 明码 #STL 题意 把每个字节转为2进制表示,1表示墨迹,0表示底色.每行2个字节,一共16行,布局是: 第1字节,第2字节 第3字节,第4字节 .... 第31字节, 第32字节 给定一段由多个汉字组成的信息,每个汉字用\(32\)个字节表示,这里给出了字节作为有符号整数的值.题目的要求隐藏在这些信息中.你的任务是复原这些汉字的字形,从中看出题目要求,并根据要求填写答案. 分析 注意题目中说明是有符号二进制,也就说如果某个十进制数为负数,则它的二进制为补码(对于负数的补码,最高位为符号…
Content 求给定 \(x,n\),求 \(f(x,n)=\sqrt{n+\sqrt{(n-1)+\sqrt{(n-2)+\sqrt{\dots+2+\sqrt{1+x}}}}}\) 的值. Solution 乍一看这题目很烦人,其实,如果我们可以转换一下,这道题目就很简单. 我们不妨算下: \[\begin{aligned}f(x,1)&=\sqrt{1+x}\\f(x,2)&=\sqrt{2+\sqrt{1+x}}=\sqrt{2+f(x,1)}\\f(x,3)&=\sqr…
C - K-th Substring 题解 找出第K大的子串,重复的不计入 这个数据范围可能有什么暴力可以艹过去吧,但是K放大的话这就是后缀自动机板子题啊= = 代码 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> //#define ivorysi #define MAXN 5005 #define ep…
菜鸡刷题记录 [题号:题解] 1008:简单排列组合 #include <bits/stdc++.h> using namespace std; #define ll long long ; ll n, m; ll qmod(ll base, ll n) { ll res = ; while (n) { ) res = res * base % MOD; base = base * base % MOD; n >>= ; } return res; } int main() { w…