Single-use Stones Codeforces - 965D
https://codeforces.com/contest/965/problem/D
太神仙了。。。比E难啊。。
首先呢,根据题意,可以很容易的建出一个最大流模型
就是每个位置建一条边,容量限制为该位置石头数,向所有它能直接跳到的位置的边的起点连边(容量无限)
(当然起点和对岸也要分别建一条边,容量无限,并按一样的规则与其他的地方间连边)
那么答案就是从起点到对岸的最大流
显然不能直接跑。。。
而最大流=最小割,显然如果是最小割,那么不能包括任何容量无限的边,那么只能选由位置产生的边
经过观察分析,如果是一个割,那么一定包含[a,b]区间内的所有位置产生的边,且满足b-a+1<=l
那么枚举每个长为l的区间即可。。。
代码很短
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
int w,l,a[],ans=0x3f3f3f3f;
int main()
{
int i;
scanf("%d%d",&w,&l);
for(i=;i<w;i++) scanf("%d",&a[i]),a[i]+=a[i-];
for(i=;i+l-<w;i++) ans=min(ans,a[i+l-]-a[i-]);
printf("%d",ans);
return ;
}
Single-use Stones Codeforces - 965D的更多相关文章
- CodeForces - 965D Single-use Stones
题面在这里! 如果你强行把问题建模,可以发现这是一个裸的增广路,又因为这是区间连边,所以跑一个 点数O(N)边数O(N log N)的线段树优化建边的网络流即可,不知道能不能过23333 但其实这个问 ...
- Magic Stones CodeForces - 1110E (思维+差分)
E. Magic Stones time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- 「日常训练」Single-use Stones (CFR476D2D)
题意(Codeforces 965D) $w$表示河的宽度,$l$表示青蛙所能跳的最远的距离,第二行的$w-1$个元素表示离河岸为$i$的地方有$a[i]$个石头,一个石头被踩两次,问最多有多少只青蛙 ...
- codeforces433B
Kuriyama Mirai's Stones CodeForces - 433B 有n颗宝石,每个宝石都有自己的价值. 然后m次询问.问区间[i,j]的宝石的总值,或者问排序后的区间[i,j]的总值 ...
- Codeforces 1023 A.Single Wildcard Pattern Matching-匹配字符 (Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Fi)
Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) A. Single Wildcard Patter ...
- Codeforces 768 E. Game of Stones 博弈DP
E. Game of Stones Sam has been teaching Jon the Game of Stones to sharpen his mind and help him de ...
- Codeforces 965 D. Single-use Stones(思维)
Codeforces 965 D. Single-use Stones 题目大意: 有一条河宽度为w,河上有一些石头,给出一组数(编号1~w-1),其中a[i]代表与河一岸距离为i的石头数量.每只青蛙 ...
- 动态规划,而已! CodeForces 433B - Kuriyama Mirai's Stones
Kuriyama Mirai has killed many monsters and got many (namely n) stones. She numbers the stones from ...
- 【Codeforces 1110E】Magic Stones
Codeforces 1110 E 题意:给定两个数组,从第一个数组开始,每次可以挑选一个数,把它变化成左右两数之和减去原来的数,问是否可以将第一个数组转化成第二个. 思路: 结论:两个数组可以互相转 ...
随机推荐
- escape() VS encodeURI() VS encodeURIComponent()
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- CSS3学习笔记(3)—左右飞入的文字
前几天看到一个企业招聘的动画觉得很炫,里面有个企业介绍的文字是用飞入的效果做出来的,今天尝试了写了一下,感觉还不错~\(≧▽≦)/~啦啦啦 下面来看我做的动态效果: 其实上面的效果很简单的,我的截图软 ...
- nginx + ffmpeg
第一种方案:ffmpeg+nginx 新的ffmpeg已经支持HLS.(本人也参与了代码供献,给自己做个广告:)) 点播: 生成hls分片: ffmpeg -i <媒体文件> -c:v l ...
- Java并发之synchronized
Java多线程同步关键词是常用的多线程同步手段.它可以修饰静态类方法,实例方法,或代码块.修饰static静态方法时是对整个类加锁. 一.实现原理 在JVM中对象内存分三块区域,对象头.实例数据.对齐 ...
- 【旧文章搬运】KeUserModeCallback用法详解
原文发表于百度空间及看雪论坛,2010-01-10 看雪论坛地址:https://bbs.pediy.com/thread-104918.htm 代码及附件可到这里下载=============== ...
- 【转】Cache Buffer Chain 第三篇
文章转自:http://oracle.chinaitlab.com/induction/862509.html,文章前部分转载,后部分自己加上的. Oracle数据库只读模式的CACHE BUFFER ...
- WebBrowser内嵌页面的跨域调用问题
很早之前我写过一篇Blog:网页通过External接口与WebBrowser交互,文中的交互其实只介绍了JS调用C++的部分,而C++调用JS由于微软自己的例子太多,那篇文章就没介绍,不过我最近遇到 ...
- 【Hadoop】HDFS笔记(二):HDFS的HA机制和Federation机制
HA解决了HDFS的NameNode的单点问题: Federation解决了整个HDFS集群中只有一个名字空间,并且只有单独的一个NameNode管理所有DataNode的问题. 一.HA机制(Hig ...
- python 中 模块,包, 与常用模块
一 模块 模块:就是一组功能的集合体, 我们的程序可以直接导入模块来复用模块里的功能 导入方式 一般为 : import 模块名 在python中, 模块一般分为四个通用类别 1使用python编写. ...
- VS中用C#开发应用程序的调试入门、技巧和实例(转载)
入门篇 假设你是有着.Net平台的程序员,并且使用Visual Studio 做为开发工具. 断点:最简单的一种,设置一个断点,程序执行到那一句就自动中断进入调试状态.设置断点,在你觉得有问题的代码行 ...