BZOJ4893: 项链分赃 && BZOJ4895: 项链分赃(增强版)
Solution
神仙题.jpg
切一刀简单啊,维护一个前缀和。
切两刀简单啊,拿个队列维护中间那一段。
切三刀,这tm什么毒瘤题。
于是打开题解:“保证不会答案不会超过宝石种类”。
orz神仙结论。
于是去研究了一下证明,但是看不懂拓扑学...
可以看一下3Blue1Brown的这个视频
出题人大概是看了这个视频后出了这题?
这两题是一样的。第二题直接输出m就行了。
知道结论后瞎写就行
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define N 100010
int cnt[3], sum[N][3];
int n, a[N];
int main() {
scanf("%d", &n);
for(int i = 1; i <= n; ++i) {
scanf("%d", &a[i]);
sum[i][0] = sum[i - 1][0];
sum[i][1] = sum[i - 1][1];
sum[i][2] = sum[i - 1][2];
sum[i][a[i]]++;
}
for(int i = 1; i <= n; ++i) {
if(sum[i][0] * 2 == sum[n][0]
&& sum[i][1] * 2 == sum[n][1]
&& sum[i][2] * 2 == sum[n][2])
{puts("1"); return 0;}
}
int l = 1;
for(int i = 1; i <= n; ++i) {
cnt[a[i]]++;
for(int j = 0; j < 3; ++j) {
while(l <= i && cnt[j] * 2 > sum[n][j]) cnt[a[l]]--, ++l;
}
if(cnt[0] * 2 == sum[n][0]
&& cnt[1] * 2 == sum[n][1]
&& cnt[2] * 2 == sum[n][2])
{puts("2"); return 0;}
}
puts("3");
}
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define N 100010
int n, m;
int main() {
scanf("%d%d", &n, &m);
printf("%d\n", m);
}
BZOJ4893: 项链分赃 && BZOJ4895: 项链分赃(增强版)的更多相关文章
- 将表里的数据批量生成INSERT语句的存储过程 增强版
将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...
- 最新GHOST XP系统下载旗舰增强版 V2016年
系统来自:系统妈:http://www.xitongma.com 深度技术GHOST xp系统旗舰增强版 V2016年3月 系统概述 深度技术ghost xp系统旗舰增强版集合微软JAVA虚拟机IE插 ...
- 最新深度技术GHOST XP系统旗舰增强版 V2016年
来自系统妈:http://www.xitongma.com 深度技术GHOST xp系统旗舰增强版 V2016年 系统概述 深度技术ghost xp系统旗舰增强版集合微软JAVA虚拟机IE插件,增强浏 ...
- WinNTSetup v3.8.7 正式版绿色增强版
最强系统安装利器:WinNTSetup 现已更新至 v3.8.7 正式版!这次更新修复调整了诸多问题,新版非常好用接近完美!WinNTSetup 现在已经自带BCDBoot 选项,并且完全支持Wind ...
- 将表里的数据批量生成INSERT语句的存储过程 继续增强版
文章继续 桦仔兄的文章 将表里的数据批量生成INSERT语句的存储过程 增强版 继续增强... 本来打算将该内容回复于桦仔兄的文章的下面的,但是不知为何博客园就是不让提交!.... 所以在这里贴出来吧 ...
- CentOS6.5安装Tab增强版:bash-completion
CentOS6.5安装Tab增强版:bash-completion,可补全命令参数: 因为CentOS官方源并不带有bash-completion的包,所以,为了可用yum安装,增加epel的源, 首 ...
- 《zw版·delphi与halcon系列原创教程》zw版_THOperatorSetX控件函数列表 v11中文增强版
<zw版·delphi与halcon系列原创教程>zw版_THOperatorSetX控件函数列表v11中文增强版 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就 ...
- zw版_zw中文增强版Halcon官方Delphi例程
[<zw版·delphi与halcon系列原创教程>zw版_zw中文增强版Halcon官方Delphi例程 源码下载:http://files.cnblogs.com/files/ziwa ...
- office 2016 专业增强版 和 visio 2016 专业版 下载安装(附带激活工
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://babyshen.blog.51cto.com/8405584/1697910 o ...
随机推荐
- 超简单系列:ubuntu 13.04 安装 apache2.2+mod_wsgi+Django
1,Ubuntu更新系统 sudo apt-get update sudo apt-get upgrade 2,安装apache,mod_wsgi,Django sudo apt-get instal ...
- U盘自动拷贝
描述:启动该程序后,自动检测U盘是否存在,若存在,将U盘中所有的文件拷贝到电脑的指定目录下. 注:本篇博文仅支持技术讨论,不用于数据的盗取之类的黑科技. 本程序基于Win32开发,主要是利用Win32 ...
- ==与Equals的作用
string str1 = "Blackteeth"; string str2 = str1; string str3 = "Blackteeth"; Cons ...
- mac下编译cpu only caffe并用xCode建caffe工程
mac编译caffe 好像又变容易了,直接git clone下载blvc源码,make.config里去掉了CPU_ONLY前面的注释,并没有安装任何依赖,也可能是自己mac上本来有, xCode里调 ...
- 创建 .m2 文件夹
首次使用 Maven 创建 .m2 文件夹 1. cmd2. mvn help:system
- 检测FTP服务并开启FTP服务
1. 检测FTP服务是否开启 1.1. 通过查询提供FTP服务的进程是否存在,并未找到任何包含ftp关键字的进程信息,可判断服务未开启. root@lb- ~ # ps -ef | grep ftp ...
- golang学习笔记18 用go语言编写移动端sdk和app开发gomobile
golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ...
- [转载]css3的一个控制背景的属性,background-size可以缩放大小啦
background-size需要两个值,它的类型可以是像素(px).百分比(%)或是auto,还可以是cover和contain.第一个值为背景图的width,另外一个值用于指定背景图上的heigh ...
- git 新建本地分支后将本地分支推送到远程库, 使用git pull 或者 git push 的时候报错
是因为本地分支和远程分支没有建立联系 (使用git branch -vv 可以查看本地分支和远程分支的关联关系) .根据命令行提示只需要执行以下命令即可git branch --set-upst ...
- IDEA添加作者和时间信息