VJP1218数字游戏(环形DP)
数据比较小 直接爆了 5重
枚举断开的琏 dp[i][j][k] (i-j)区间为第k段 dp[i][j][k] = min(dp[i][j][k],dp[g][i-1][k-1]*s[i][j])(g<=i-1) s[i][j]为i-j的和
最大值类似 不知道为嘛要加50W 很纳闷 加小了就WA
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#define INF 100000
using namespace std;
int a[],dp1[][][],dp2[][][],s[][];
int main()
{
int i,j,k,n,g,o,e,aa,b,c;
while(scanf("%d%d",&n,&k)!=EOF)
{
for(i = ; i <= n ; i++)
scanf("%d",&a[i]);
for(i = ; i <= n ; i++)
a[n+i] = a[i];
for(i = ; i <= *n ; i++)
{
s[i][i] = (a[i]+)%;
for(j = i+ ; j <= *n ; j++)
s[i][j] = (s[i][j-]+a[j]+)%;
}
int minz = INF,maxz=;
for(i = ; i < n ; i++)
{
for(aa = ; aa <= k ; aa++)
for(c = ; c <= *n ; c++)
for(b = ; b <= *n ; b++)
{
dp1[c][b][aa] = INF;
dp2[c][b][aa] = ;
}
for(j = i+ ; j <= i+n-(k-) ; j++)
{
dp1[i+][j][] = s[i+][j];
dp2[i+][j][] = s[i+][j];
}
for(j = ; j <= k ; j++)
{
for(g = i+j ; g <= i+n-(k-j) ; g++)
{
for(e = g ; e <= i+n-(k-j) ; e++)
{
dp1[g][e][j] = INF;
for(o = i+j- ; o < g ; o++)
{
dp1[g][e][j] = min(dp1[g][e][j],dp1[o][g-][j-]*s[g][e]);
dp2[g][e][j] = max(dp2[g][e][j],dp2[o][g-][j-]*s[g][e]);
}
}
}
}
for(j = i+ ; j <= i+n ; j++)
{
maxz = max(maxz,dp2[j][i+n][k]);
minz = min(minz,dp1[j][i+n][k]);
}
}
printf("%d\n%d\n",minz,maxz);
}
return ;
}
VJP1218数字游戏(环形DP)的更多相关文章
- NOIP2003pj数字游戏[环形DP]
题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分 ...
- 洛谷 P1043 数字游戏 区间DP
题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分 ...
- NOIP2009pj道路游戏[环形DP 转移优化 二维信息]
题目描述 小新正在玩一个简单的电脑游戏. 游戏中有一条环形马路,马路上有 n 个机器人工厂,两个相邻机器人工厂之间由一小段马路连接.小新以某个机器人工厂为起点,按顺时针顺序依次将这 n 个机器人工厂编 ...
- [luoguP1043] 数字游戏(DP)
传送门 搞个前缀和随便DP一下 代码 #include <cstdio> #include <cstring> #include <iostream> #defin ...
- codevs1085数字游戏(环形DP+划分DP )
1085 数字游戏 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单, ...
- codevs 1085 数字游戏 dp或者暴搜
1085 数字游戏 2003年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目描述 Description 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单 ...
- 【dp】数字游戏&寒假祭
区间DP 题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共n个),你要按 ...
- [区间+线性dp]数字游戏
题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共\(n\)个),你要按顺 ...
- 「区间DP」「洛谷P1043」数字游戏
「洛谷P1043」数字游戏 日后再写 代码 /*#!/bin/sh dir=$GEDIT_CURRENT_DOCUMENT_DIR name=$GEDIT_CURRENT_DOCUMENT_NAME ...
随机推荐
- leetcode之Rectangle Area
Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is defined b ...
- myeclipse-8.6.0下载
myeclipse老版本不分32位和64位,欢迎大家下载使用! 链接:http://pan.baidu.com/s/1dEJCxcl 密码:z1ga
- mysql5.7的安装
1.在官网下载解压缩版 2.解压后配置默认文件 新建个my.ini(可以复制一份my-default.ini,并改名为my.ini).my.ini会替换掉下面的my-default.ini文件. 按需 ...
- 使用XmlPullParser对xml进行读取
XML文件是一种标记性语言;在开发中经常在接口交互时被用作报文传输或者把自定义的类序列化为XML的形式存储到数据库.正因为XML文件这么常用,使用JAVA对XML文件进行读写操作是每一个开发人员必须掌 ...
- PHP扩展开发(1):入门
有关PHP扩展开发的文章.博客已经很多了,比较经典的有: TIPI项目(http://www.php-internals.com/,强烈推荐) <Extending and Embedding ...
- java中的多线程——进度2
package src;/*多线程总结:1,进程和线程的概念. |--进程: |--线程:2,jvm中的多线程体现. |--主线程,垃圾回收线程,自定义线程.以及他们运行的代码的位置 ...
- C指针笔记
指针的学习 两个数比较大小,通过传递内容进行比较 #include <stdio.h> void swap(int *p1, int *p2){ int temp; //注意指变量*的两个 ...
- 机器学习实战:数据预处理之独热编码(One-Hot Encoding)
问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑一下的三个特征: ["male", "female"] ["from ...
- 针对目前高校移动App的火热,哥决定点一把火
最近正在做市场调研,还请众位大哥大姐们帮忙投个票,求扩散 http://user.qzone.qq.com/717010686/vote/00000000feb6bc2a3ebd1e53
- about Q&A in installing linux[centos6,7]
keywords:grub1,grub2,gnome,kde, question describe:install centos7 by U disk,出现问题, 解决办法: install cent ...