BZOJ 3229: [Sdoi2008]石子合并
3229: [Sdoi2008]石子合并
时间限制: 3 Sec 内存限制: 128 MB
提交: 497 解决: 240
[提交][][]
题目描述
输入
输出
共一个数,即N堆石子合并成一堆的最小得分。
样例输入
1
1
1
1
样例输出
提示
对于 100% 的数据,1≤N≤40000
对于 100% 的数据,1≤A≤200
接下来是嘴巴时间!!
po1:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#define yyj(s) freopen(s".in","r",stdin),freopen(s".out","w",stdout);
#define llg long long
#define maxn 40010
llg i,j,k,x,n,m,a[maxn],ans;
using namespace std;
llg get()
{
llg i=; char c=getchar();
while(c>''||c<'')c=getchar();
while(c>=''&&c<='')i=i*+c-'',c=getchar();
return i;
} int main()
{
yyj("a");
cin>>n;
for (i=;i<=n;i++) a[i]=get();
a[]=a[n+]=0x7fffffff;
for (m=;m<n;m++)
{
a[n-m+]=0x7fffffff;
for (k=;k<=n-m+;k++) if (a[k-]<=a[k+]) break;
x=a[k-]+a[k]; ans+=x;
for (i=k-;i<=n-m;i++) a[i]=a[i+];
for (j=k-;j>=;j--) if (a[j]>x) break;
for (i=n-m;i>j+;i--) a[i]=a[i-];
a[j+]=x;
}
cout<<ans;
return ;
}
你以为这可以A?这只是一发常数写大了超时的
当你把常数写小
| 1548112 | xrdog | 3229 | 正确 | 1484 kb | 60 ms | C++/Edit | 1080 B | 2016-07-14 20:13:13 |
BZOJ 3229: [Sdoi2008]石子合并的更多相关文章
- 【BZOJ 3229】 3229: [Sdoi2008]石子合并 (GarsiaWachs算法)
3229: [Sdoi2008]石子合并 Description 在一个操场上摆放着一排N堆石子.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合 ...
- [SDOI2008]石子合并 题解
题面 GarsiaWachs算法专门解决石子合并问题: 设一个序列是A[0..n-1],每次寻找最小的一个满足A[k-1]<=A[k+1]的k,那么我们就把A[k]与A[k-1]合并,并向前寻找 ...
- 洛谷 P5569 [SDOI2008]石子合并 GarsiaWachs算法
石子合并终极通用版 #include<bits/stdc++.h> using namespace std ; ]; int n,t,ans; void combine(int k) { ...
- BZOJ-3229 石子合并 GarsiaWachs算法
经典DP?稳T 3229: [Sdoi2008]石子合并 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 426 Solved: 202 [Submit] ...
- BZOJ 3227: [Sdoi2008]红黑树(tree)
BZOJ 3227: [Sdoi2008]红黑树(tree) 标签(空格分隔): OI-BZOJ OI-其它 Time Limit: 10 Sec Memory Limit: 128 MB Descr ...
- RQNOJ 490 环形石子合并
题目链接:https://www.rqnoj.cn/problem/490 题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一 ...
- codevs1048 石子合并
题目链接:http://codevs.cn/problem/1048/ 题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代 ...
- 石子合并[DP-N3]
题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...
- 51Nod 1021 石子合并 Label:Water DP
N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价.计算将N堆石子合并成一堆的最小代价. 例如: 1 2 3 4,有 ...
随机推荐
- jquery 绑定事件的方法
jQuery中提供了四种绑定事件的方法,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off: 一.on()方法(首选方法) ...
- 【翻译】How To Tango With Django 1.5.4 第三章
django基础 3.1测试你的配置 测试你的python版本和你的django版本是否兼容 3.2新建django工程 在dos里面进到你事先新建的code文件夹,然后在执行下列命令新建工程 c:\ ...
- KVC和KVO大优点
都是动态的,运行时检查,给予了极大的方便
- Java学习-046-日志抓取合并后排序问题解决方案之 --- log4j 二次定制,实现日志输出添加延时10ms
自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,e ...
- jquery设置checkbox状态,设置dropdownlist选中值,隐藏某控件,给某控件追加东西
jquery设置checkbox状态 $("[ID$=chkType]").attr("checked", true); jquery设置dropdownlis ...
- 详解php的curl几个函数
关于php的curl一系列函数,这里解释一下它们的作用. 在html中,我们可以通过form设置http的post和get提交,但假如我们获取的数据不是从html中来的,而是php脚本主动向其他服务器 ...
- Windows Sserver 2008 R2 搭建DNS配置区域与配置转发器上外网
一.实验模拟环境: zhuyu公司是一家成立的新公司,该公司的局域网没有DNS服务器,所有电脑都使用电 信ISP提供的DNS服务器(202.96.128.166).zhuyu公司计划搭建一台DNS服务 ...
- C# 中的多线程(转载)
关于多线程的系列,翻译自国外大牛的文章,值得推荐 原文地址:https://blog.gkarch.com/topic/threading.html
- 【Lamp】 Linux 下安装PHP+Apache+Mysql 手记
[0]写在最前 由于准备实习原因,今天又重温了Lamp的搭建过程,之前一直是看燕十八老师2012年的教程学习,因此今天也是拿了十八哥的lamp搭建笔记作参考.但这次按照笔记重新搭建,发现了很多问题,由 ...
- <<卸甲笔记>>-基础语法对比
以Oracle中sottt用户下的数据为例,PPAS 中scott用户下面的数据由Oracle迁移而来 1 查询emp表中的数据 Oracle [root@test03 ~]# su - oracl ...