首页 > 其他分享 >About [NOIP2003 普及组] 数字游戏

About [NOIP2003 普及组] 数字游戏

时间:2022-11-27 15:11:43浏览次数:34  
标签:10 About le 游戏 NOIP2003 int bmod10 普及 times

题目描述

丁丁最近沉迷于一个数字游戏之中。这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。游戏是这样的,在你面前有一圈整数(一共 nn 个),你要按顺序将其分为 mm 个部分,各部分内的数字相加,相加所得的 mm 个结果对 1010 取模后再相乘,最终得到一个数 kk。游戏的要求是使你所得的 kk 最大或者最小。

例如,对于下面这圈数字(n=4n=4,m=2m=2):

要求最小值时,((2-1)\bmod10)\times ((4+3)\bmod10)=1\times 7=7((2−1)mod10)×((4+3)mod10)=1×7=7,要求最大值时,为 ((2+4+3)\bmod10)\times (-1\bmod10)=9\times 9=81((2+4+3)mod10)×(−1mod10)=9×9=81。特别值得注意的是,无论是负数还是正数,对 1010 取模的结果均为非负值。

丁丁请你编写程序帮他赢得这个游戏。

输入格式

输入文件第一行有两个整数,nn (1\le n\le 501≤n≤50) 和 mm (1\le m\le 91≤m≤9)。以下 nn 行每行有个整数,其绝对值 \le10^4≤104,按顺序给出圈中的数字,首尾相接。

输出格式

输出文件有 22 行,各包含 11 个非负整数。第 11 行是你程序得到的最小值,第 22 行是最大值。

输入输出样例

输入 #1
4 2
4
3
-1
2
输出 #1
7
81

说明/提示

【题目来源】

NOIP 2003 普及组第二题

序列型dp

环形自然想到把数组复制一遍

以每个数字做开头来dp一遍

 

 

 

 

#include <bits/stdc++.h>
using namespace std;
const int N = 105, inf = 2e9;
int n, m, a[N];
int f[N][N][10], g[N][N][10];
inline int mod(int x) {return (x % 10 + 10) % 10;}
int main(){
	cin >> n >> m;
	for (int i = 1; i <= n; i++) cin >> a[i], a[i + n] = a[i];
	for (int i = 1; i <= n * 2; i++) a[i] += a[i - 1];
	memset(f, 0x3f, sizeof f);
	for (int i = 1; i <= n * 2; i++)
		for (int j = i; j <= n * 2; j++)
			f[i][j][1] = g[i][j][1] = mod(a[j] - a[i - 1]);
	for (int st = 1; st <= n * 2; st++){
		for (int i = 1; i <= n * 2; i++){
			for (int j = 2; j <= m; j++){
				for (int k = st + j - 2; k < i; k ++ ){
					f[st][i][j] = min(f[st][i][j], f[st][k][j - 1] * mod(a[i] - a[k]));
					g[st][i][j] = max(g[st][i][j], g[st][k][j - 1] * mod(a[i] - a[k]));
				}
			}
		}
	}
	int minv = inf, maxv = -inf;
	for (int i = 1; i <= n; i++){
		minv = min(minv, f[i][i + n - 1][m]);
		maxv = max(maxv, g[i][i + n - 1][m]);
	}
	cout << minv << endl << maxv << endl;
	return 0;
}

一点点指针的运用

而且数据这么水随便搞搞都能过

 

标签:10,About,le,游戏,NOIP2003,int,bmod10,普及,times
From: https://www.cnblogs.com/dreamer-211333/p/16929728.html

相关文章

  • F2F-L10U4 Talking about a presentation 20221120
    Putthesectionsonthehandoutintothecorrectorder.ListentotheaudioandcheckAnswerKey1Manager:...Andnextonouragenda,EvanBaxterfromSalesis......
  • GL-Talking about health problem 20221124
    TopicTalkingabouthealthproblemshaveyoueveraskedafriendforhealthadvice?Whatdidyousay?Whataresomecommonhealthproblemspeoplehave?Isomet......
  • About Me
    Hi,IamHaotianRen,youcancallme Hollie, welcometomyspace! Thisblogopenedin2017whenIwasaBachelorstudentofDigitalMedia.AtthattimeI......
  • 《拟启用下列各位为小吧:j7、D7、散鱼、进化、睡神、别问、普及》 回复
    《拟启用下列各位为小吧:j7、D7、散鱼、进化、睡神、别问、普及》     https://tieba.baidu.com/p/8155587008     9楼2楼说的jm是@jmctian,什么园......
  • 洛谷P2141 [NOIP2014 普及组] 珠心算测验
    [NOIP2014普及组]珠心算测验题目描述珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而......
  • 洛谷P1047 [NOIP2005 普及组] 校门外的树
    [NOIP2005普及组]校门外的树题目描述某校大门外长度为l的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置......
  • P1002 过河卒 详细题解 搜索回溯+递归 [NOIP2002 普及组]
    题目描述棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方......
  • GL-Talking about rules 20221122
    TimeTalkingaboutrulesDidyouhavestrictrulestofollowwhenyouwereateenager?Discusswhatguidelinesamodernfamilyshouldfollow?Teenagersshouldn......
  • 洛谷P1085 [NOIP2004 普及组] 不高兴的津津
    [NOIP2004普及组]不高兴的津津题目描述津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去......
  • about this blog
    七个月了,越来越喜欢这个blog了,于是决定给它正式地写一篇简介。这是blog,是记录拥有者想给外人看的东西,与书写者并离不开,于是似乎应先从作者写起。作者现在初三,在GD。......