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,有 ...
随机推荐
- phpqrcode不能输出二维码
phpqrcode不能输出二维码 注意 权限..... 注意 扩展 header('Content-Type: image/png'); include_once 'phpqrcode/qrlib ...
- mysql单表多timestamp的current_timestamp设置问题
一个表中出现多个timestamp并设置其中一个为current_timestamp的时候经常会遇到 1293 - Incorrect table definition; there can be o ...
- smaller programs should improve performance
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION In this section, we l ...
- SevenZip.pas BUG修改版 - 20160613
原始版本: Henri Gourvest <hgourvest@gmail.com> 1.2版本 BUG修改: 1.对于文件名中带有空格的文件, 无法压缩, 原因是1488行, 压缩调用的 ...
- Python 实现粒子滤波
#转# -*- coding=utf-8 -*-# 直接运行代码可以看到跟踪效果# 红色的小点代表粒子位置# 蓝色的大点表示跟踪的结果# 白色的方框表示要跟踪的目标# 看懂下面两个函数即可from n ...
- cocos2d-x mac os启动 android helloworld
工具环境: mac os, jdk, Android Studio, cocos2d-x-3.13.1, ant, android-ndk. 解压coco2d-x后,根目录下有 setup.py, 命 ...
- WIN2008 R2 安装SQLSERVER2008笔记
系统升级到SERVER2008R2 有些地方和WIN2003区别很大 这里记下 1.IIS 2008已经自带了不需要再额外找安装包或者系统盘安装 只需要打开服务管理器“角色”中添加”“web服务器(I ...
- echo 输入指定空白字符
ansible-direc:~ # echo -n "starting service....";echo -ne "\033[50G";echo " ...
- sql sp_xml_preparedocument 函数运用实例
表结构: CREATE FUNCTION f_splitSTR( ), --待分拆的字符串 ) --数据分隔符 ))) AS BEGIN --创建分拆处理的辅助表(用户定义函数中只能操作表变量) DE ...
- linux挂载移动硬盘
1. 安装ntfs-3g2. mkdir /mnt/disk3. mount -t ntfs-3g /dev/sdb /mnt/disk4.卸载 umount /dev/sdb