[Codeforces947D]Riverside Curio(思维)】的更多相关文章

Description 题目链接 Solution 设S[i]表示到第i天总共S[i]几个标记, 那么满足S[i]=m[i]+d[i]+1 m[i]表示水位上的标记数,d[i]表示水位下的标记数 那么可以发现,S[i]满足非严格递增,且相邻2个相差不超过1 由此可转化题目, 给你n个数,可以给任意数加上任意正整数,要求使得最后使这个数列满足S[i]的条件 问最少加多少,这样就简单了 注意开long long Code #include<cstdio> int n,A[100010]; long…
Riverside Curio time limit per test1 second memory limit per test256 megabytes Arkady decides to observe a river for n consecutive days. The river's water level on each day is equal to some real value. Arkady goes to the riverside each day and makes…
题目传送门:http://codeforces.com/contest/957/problem/D 题意大致是这样的:有一个水池,每天都有一个水位(一个整数).每天都会在这一天的水位上划线(如果这个水位已经被划线了,那么不划线). 现在告诉你每天能看见的线条mi(就是高于水面的,刚好在水面的不算),设di为第i天水面以下的线条数(刚好在水面的不算),求(d1+d2+d3....dn)的最小值. 解析: 我们设第i天有ki条水位线,容易得到: 移项后,将d留在右边,我们发现mi和n都是固定的,所以…
题意:海平面每天高度会变化,一个人会在每天海平面的位置刻下一道痕迹(如果当前位置没有已经刻划过的痕迹),并且记录下当天比海平面高的痕迹有多少条,记为a[i].让你最小化每天比海平面低的痕迹条数之和. 贪心,使得痕迹条数尽可能小. 考虑处理出每天痕迹条数的数组f[i]的最小可能值. 满足几个约束即可,f[i]>=f[i-1],f[i]>=a[i]+1,f[i]>=f[i+1]-1.前后扫两遍就可以处理出f数组,然后就可以轻松统计答案了. #include<cstdio> #in…
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 设第i天总共的线数为t[i] 水平线上线数为m[i]是固定的 水平线下的线数设为d[i] 则d[i]+m[i]+1=t[i] 也就是说问题可以转化为使得t[i]最小 我们可以列出关于t[i]的不等式 t[i]= max{t[i-1],m[i]+1} ···① t[i]+1>=t[i+1] ,因为每天最多划一条线 ····② 对于①式,直接顺推就好 对于②式 我们用t[i]>=t[i+1]-1逆推 只要t[i]<t[i+1]-1那么…
dp+预处理 dp[i]表示第i天时的水位线有多少条, 然后你会发现这个dp是有后效性的,当第i天的m[i]>dp[i-1]时就要修改之前的dp值 因此我们预处理出每一天的至少要多少条水位线,记l[i]为多少条水位线 所以每天至少需要m[i]+1条水位线,然后我们从后往前枚举,记录now表示从后推出当前的i需要的水位线 l[i]=max(now,m[i]+1) #include <bits/stdc++.h> #define ll long long using namespace st…
用菜鸟的思维学习算法 -- 马桶排序.冒泡排序和快速排序 [博主]反骨仔 [来源]http://www.cnblogs.com/liqingwen/p/4994261.html  目录 马桶排序(令人作呕的排序) 冒泡排序(面试都要问的算法) 快速排序(见证亚当和夏娃的爱情之旅) 马桶排序(令人作呕的排序) 一.场景:期末考试完了,老师要将同学们的分数从高到低排序.假设班上有 5 名同学,分别考了 5 分.3 分.5 分.2 分和 8 分[满分:10 分],排序后的结果就是 8 5 5 3 2,…
半年前学习Photoshop时记得的思维导图笔记,可能不是很全,常用的基本都记下了.…
前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括使用方式,及相关介绍,都容易引人误解. 为此,我打算重新写个系列来介绍最新的版本,让大伙从传统的ORM编程过渡到自动化框架型思维编程(自已造的词). 于是:这个新系列的名称就叫:CYQ.Data 从入门到放弃ORM系列 什么是:CYQ.Data 1:它是一个ORM框架. 2:它是一个数据层组件. 3…
看似简单的char 通过前两节,我们应该对字符和文本的编码和乱码有了一个清晰的认识,但前两节都是与编程语言无关的,我们还是不知道怎么在程序中处理字符和文本. 本节讨论在Java中进行字符处理的基础 - char,Java中还有Character, String, StringBuffer, StringBuilder等类进行文本处理,他们的基础都是char,我们在后续文章中介绍这些类. char看上去是很简单的,正如我们在第2节所说,char用于表示一个字符,这个字符可以是中文字符,也可以是英文…