2064: 分裂 - BZOJ

Description

背景: 和久必分,分久必和。。。 题目描述: 中国历史上上分分和和次数非常多。。通读中国历史的WJMZBMR表示毫无压力。 同时经常搞OI的他把这个变成了一个数学模型。 假设中国的国土总和是不变的。 每个国家都可以用他的国土面积代替, 又两种可能,一种是两个国家合并为1个,那么新国家的面积为两者之和。 一种是一个国家分裂为2个,那么2个新国家的面积之和为原国家的面积。 WJMZBMR现在知道了很遥远的过去中国的状态,又知道了中国现在的状态,想知道至少要几次操作(分裂和合并各算一次操作),能让中国从当时状态到达现在的状态。
Input

第一行一个数n1,表示当时的块数,接下来n1个数分别表示各块的面积。 第二行一个数n2,表示现在的块,接下来n2个数分别表示各块的面积。
Output

一行一个数表示最小次数。
Sample Input

1 6

3 1 2 3

Sample Output

2

数据范围:

对于100%的数据,n1,n2<=10,每个数<=50

对于30%的数据,n1,n2<=6,

 

 

代码很短,但是我没有想到这个思路

讲出来其实很容易理解,我们把两边都分成k堆,两边对应的一堆和相等,这样我们就只需要做n1+n2-k*2次操作就可以了

状压dp即可,f[s]表示左边取某些块,右边取某些块,中间相等次数最多是多少

 1 var
 2     sum,f:array[0..1 shl 21]of longint;
 3     n1,n2,n:longint;
 4 
 5 procedure init;
 6 var
 7     i:longint;
 8 begin
 9     read(n1);
10     for i:=1 to n1 do
11       read(sum[1<<i>>1]);
12     read(n2);
13     for i:=n1+1 to n1+n2 do
14       begin
15         read(sum[1<<i>>1]);
16         sum[1<<i>>1]:=-sum[1<<i>>1];
17       end;
18     n:=n1+n2;
19 end;
20 
21 procedure up(var x:longint;y:longint);
22 begin
23     if x<y then x:=y;
24 end;
25 
26 procedure dp;
27 var
28     i,j,k:longint;
29 begin
30     for i:=1 to 1<<n-1 do
31       begin
32         k:=i and (-i);
33         sum[i]:=sum[i-k]+sum[k];
34         for j:=1 to n do
35           if i and (1<<j>>1)>0 then up(f[i],f[i-1<<j>>1]);
36         if sum[i]=0 then inc(f[i]);
37       end;
38     write(n-f[1<<n-1]<<1);
39 end;
40 
41 begin
42     init;
43     dp;
44 end.
View Code

 

转载于:https://www.cnblogs.com/Randolph87/p/3757750.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android h5使用缓存_Android SDK 的 H5 打通方案演进 | 数据采集

一、前言近年来&#xff0c;混合开发越来越流行&#xff0c;App 与 H5 的打通需求也越来越迫切。那什么是 App 与 H5 打通呢&#xff1f;所谓 “打通”&#xff0c;是指 H5 集成 JavaScript 数据采集 SDK 后&#xff0c;H5 触发的事件不直接同步给服务端&#xff0c;而是先发给…

渐渐褪色的彩虹 好像一个梦

渐渐褪色的彩虹 好像一个梦 ——初梦 好像从来没写过游记呢...就权当记流水账随便写一些吧 11.10 Day 0 期待又紧张&#xff0c; 像以前一样坐高铁&#xff0c; 车上打了打几个板子&#xff0c;抵达广州&#xff0c; 时间过的真快啊... 到达酒店&#xff0c; 这也许又(?)是我…

php 开发框架 (资料收集)

PHP最流行的框架是Laravel, Symfony, CodeIgniter, Yii 1 and 2&#xff0c;Phalcon 和其他一些&#xff0c;这些工具能帮你创建功能强大而整洁的应用程序 Laravel与thinkPHP的异同点 主要区别:(thinkPHP更适合国人的编码习惯) TP5更简单实用&#xff0c;文档丰富&#xff0c;…

Android的Button按钮,ACTION_UP事件不触发解决方案

在android 编程时&#xff0c;有时候要实现当Button一直按下的时候&#xff0c;执行一些逻辑代码&#xff0c;当按钮弹起的时候&#xff0c;终止这些逻辑代码的执行。 比如在 设置页面的滑动开关时&#xff0c;如果不监听ACTION_CANCEL&#xff0c;在滑动到中间时&#xff0c;如…

简单人物画像_你真的理解用户画像吗?| 船说

“「设计师沙龙」是ARK下半年开始逐渐形成的传统&#xff0c;由ARKers自发组织&#xff0c;分为视觉和交互两类&#xff0c;每月各举办一次。大家围绕一个话题展开&#xff0c;聊聊行业最新案例和工作上的心得&#xff0c;帮助大家共同进步。ARKers表达的观点均为个人见解&…

try catch线程问题???

try。。。catch 在遇见异常是会开启一个新的线程&#xff0c;用来处理异常&#xff0c;转载于:https://www.cnblogs.com/Flyrun/p/7828788.html

thinkphp 3 升到 thinkphp 5 或更高 ( 资料收集)

https://www.cnblogs.com/shy-/p/10447827.html thinkphp3.2升级至thinkphp5.0.24 view文件# 修改文件名# 把tp3.2.3\app\module\view文件夹下所有文件夹拷贝至tp5\app\module\view打开cmd命令窗口&#xff0c;cd至view文件夹下&#xff0c;执行dir /b 1.bat使用notepad打开…

emoji表情引发的JNI崩溃

今天突然接到客服那边的反馈说&#xff0c;有玩家反馈进游戏后不久就崩溃了&#xff0c;我先是怀疑网络问题&#xff0c;因为一连接聊天成功后就挂了。之后用logcat抓日志&#xff0c;发现挂在jni那里了 JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8…

[Java]向上/下转型Casting

一、向上转型。 通俗地讲即是将子类对象转为父类对象。此处父类对象可以是接口。 1&#xff0c;向上转型中的方法调用。 看下面代码&#xff1a; 注意这里的向上转型&#xff1a;Animal bnew Bird(); //向上转型b.eat(); 此处将调用子类的eat()方法。原因&#xff1a;b实际指向…

8cm等于多少像素_「前端剑指offer第5期」物理像素、逻辑像素、CSS像素、PPI、设备像素比是什么...

# 提问物理像素、逻辑像素、CSS像素、PPI、设备像素比是什么&#xff1f;# 回答物理像素代表屏幕上有多少个点&#xff0c;比如1080x2340表示屏幕一排包含1080个物理像素点。逻辑像素表示屏幕展示物体的视觉尺寸是多少。逻辑像素相同表示物体看起来或者打印出来大小一样&#x…

Python学习之路:函数介绍

编程&#xff1a;面向对象&#xff1a;华山派----->类---->class 面向过程&#xff1a;少林派----->过程--->def 一段段的函数和功能包含在过程中 函数式编程&#xff1a;逍遥派--->函数---->def 过程就是没有return返回值的函数 函数的定义&#xff1a;数学…

php中获取系统信息的方法

2019独角兽企业重金招聘Python工程师标准>>> $root getenv(DOCUMENT_ROOT); 服务器文档根目录$port getenv(SERVER_PORT); 服务器端口$file getenv(SCRIPT_NAME); 当前执行文件$ua getenv(HTTP_USER_AGENT); 用户UA$method getenv(REQUEST_METHOD); 请求方法$p…

[独家全程图解]ThinkPHP6框架的下载与安装

http://www.php.cn/wenda/159638.html 1. ThinkPHP大事记 2017年4月27日,ThinkPHP5.1-beta.1发布 2017年12月31日, ThinkPHP5.1.0发布,标志着快速进入迭代期 2019年3月3日, ThinkPHP5.1已更新迭代到第35个版本(5.1.35) 2019年3月22日, ThinkPHP5.2的 dev 开发版本也发布了 …

玩转CSS3(一)----CSS3实现页面布局

请珍惜小编劳动成果&#xff0c;该文章为小编原创&#xff0c;转载请注明出处。 摘要&#xff1a; CSS3相对CSS2增加了一些新的布局方式&#xff1a;多栏布局和盒子布局。在这篇文章中&#xff0c;将对CSS2的布局进行简单的回忆&#xff0c;并总结CSS3的布局方式。DIVCSS其实是…

openglshader实现虚拟场景_云桌面,实现办公终端的统一管理与运维

随着无纸化办公和智能化办公的不断推进&#xff0c;在办公过程中传统PC电脑的缺点愈发凸显。传统电脑的性能会随着使用时长增加而降低&#xff0c;系统维护处理时效性较弱&#xff0c;出现问题需要运维人员到现场解决&#xff0c;费时费力。如果出现更换设备的情况&#xff0c;…

前端 == Ajax

Django-Ajax 1.目录 ajax 准备知识&#xff1a;json ajax 简介 jquery 实现的ajax js 实现的ajax jquery.serialize() 上传文件 同源策略与jsonp 2.准备知识&#xff1a;json 1.什么是 json ? 个人回答&#xff1a; json 的作用是 数据交换格式。&#xff08;通过序列化和反序…

Objective-c 程序结构

类是Objective-c的核心&#xff0c;Objective-c程序都是围绕类进行的。Objective-c程序至少包含以下三个部分&#xff1a; 1、类接口&#xff1a;定义了类的数据和方法&#xff0c;但是不包括方法的实现代码。 2、类实现&#xff1a;仓储 了实现类方法的代码。 3、应用程序&…

WordPress 5.0 换回老版”Classic Editor”经典编辑器教程

WordPress 5.0 正式采用了全新的“Block Editor”编辑器&#xff0c;从而替换了原有“Classic Editor”编辑器&#xff0c;相信有很多人和子凡一样会不习惯或者不喜欢新编辑器&#xff0c;那么新版 WordPress 该如何换回原来的 WordPress 编辑器呢&#xff1f; 不可否认 WordPr…

html5视频播放

<video width"320" height"240" controls"controls"> <source src"test.mp4" type"video/mp4"> Your browser does not support the video tag. </video> IE9对于video标签确实是不支持的&…