ACM-ICPC北京赛区(2017)网络赛1【模拟+枚举+数组操作】
题目1 : Visiting Peking University
描述
Ming is going to travel for n days and the date of these days can be represented by n integers: 0, 1, 2, …, n-1. He plans to spend m consecutive days(2 ≤ m ≤ n)in Beijing. During these m days, he intends to use the first day and another day to visit Peking university. Before he made his plan, Ming investigated on the number of tourists who would be waiting in line to enter Peking university during his n-day trip, and the results could be represented by an integer sequence p[i] (0 ≤ i ≤ n-1, p[i] represents the number of waiting tourists on day i). To save time, he hopes to choose two certain dates a and b to visit PKU(0 ≤ a < b ≤ n-1), which makes p[a] + p[b] as small as possible.
Unfortunately, Ming comes to know that traffic control will be taking place in Beijing on some days during his n-day trip, and he won’t be able to visit any place in Beijing, including PKU, on a traffic control day. Ming loves Beijing and he wants to make sure that m days can be used to visit interesting places in Beijing. So Ming made a decision: spending k (m ≤ k ≤ n) consecutive days in Beijing is also acceptable if there are k - m traffic control days among those k days. Under this complicated situation, he doesn’t know how to make the best schedule. Please write a program to help Ming determine the best dates of the two days to visit Peking University. Data guarantees a unique solution.
输入
There are no more than 20 test cases.
For each test case:
The first line contains two integers, above mentioned n and m (2 ≤ n ≤ 100, 2 ≤ m ≤ n).
The second line contains n integers, above mentioned p[0] , p[1] , … p[n-1]. (0 ≤ p[i] ≤ 1000, i = 0 ... n-1)
The third line is an integer q (0 ≤ q ≤ n), representing the total number of traffic control days during the n-day trip, followed by q integers representing the dates of these days.
输出
One line, including two integers a and b, representing the best dates for visiting PKU.
- 样例输入
-
7 3
6 9 10 1 0 8 35
3 5 6 2
4 2
10 11 1 2
1 2 - 样例输出
-
0 3
1 3 【题意】:题意是一人去旅游n天,在北京待连续的m天,他想去参观PKU,他知道这n天参观排队的人数,但是有q天交通管制,哪都去不了。所以他决定待K天,但是有要求,在前K天中,只要有K~M天是交通管制时间,他可以在连续的m天区间内选择任意两天参观,问最少排队人数是多少,注意排队人数的下标是0~n-1,但管制天数是1—n,最后输出这两天(下标)。 【分析】:重点是枚举起点天。第一组数据中2、6、5天交通管制,将它们从数组删去。剩下6(0) 9(1) 1(3) 0(4).三天的组合—>6 9 1中选2天 or 9 1 0 中选2天。求和后比较取最小值。(注意每个情况的第一天是必须选的)。则必须选择第0或1天作为游览的第一天,否则无法保证总共游览m=3天。若选第0天开始,则最佳方案是第0和第3天,排队总人数是6+1=7。若选第1天作为开始,则最佳方案是第1和第4天,9+0=9。所以最终的方案是第0和第3天。 【代码】:#include<bits/stdc++.h>
using namespace std;
const int maxn = ;
#define inf 0x3f3f3f3f
struct node
{
int re,id;
}b[maxn];
int main()
{
int n,m,k;
int a[maxn];
int q,x;
int vis[maxn];
while(~scanf("%d%d",&n,&m))
{
k=;
memset(vis,,sizeof(vis));
for(int i=; i<n; i++)
{
scanf("%d",&a[i]);
} scanf("%d",&q);
for(int i=; i<q; i++)
{
scanf("%d",&x);
vis[x]=;
} for(int i=;i<n;i++)
{
if(!vis[i])
{
b[k].re=a[i];
b[k++].id=i;
//k++;
}
} int minn=inf,l=,r=;//
for(int i=;i+m<=k;i++)
{
int x=b[i].re;
for(int j=;j<m;j++)
{
if(b[i+j].re+x < minn)
{
minn=b[i+j].re+x;
l=b[i].id;
r=b[i+j].id;
}
}
}
printf("%d %d\n",l,r);
}
}0ms
ACM-ICPC北京赛区(2017)网络赛1【模拟+枚举+数组操作】的更多相关文章
- ACM-ICPC北京赛区(2017)网络赛2【后缀数组+Java//不会】
#1579 : Reverse Suffix Array 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There is a strong data structure ...
- hihoCoder 1578 Visiting Peking University 【贪心】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛)
#1578 : Visiting Peking University 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Ming is going to travel for ...
- hihoCoder 1582 Territorial Dispute 【凸包】(ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛)
#1582 : Territorial Dispute 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 In 2333, the C++ Empire and the Ja ...
- hihoCoder 1584 Bounce 【数学规律】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛)
#1584 : Bounce 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 For Argo, it is very interesting watching a cir ...
- hihoCoder 1586 Minimum 【线段树】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛)
#1586 : Minimum 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 You are given a list of integers a0, a1, …, a2 ...
- ACM-ICPC北京赛区(2017)网络赛_Minimum
题目9 : Minimum 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 You are given a list of integers a0, a1, -, a2^k ...
- ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 题目9 : Minimum
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 You are given a list of integers a0, a1, …, a2^k-1. You need t ...
- ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 i题 Minimum(线段树)
描述 You are given a list of integers a0, a1, …, a2^k-1. You need to support two types of queries: 1. ...
- 【分类讨论】【计算几何】【凸包】hihocoder 1582 ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 E. Territorial Dispute
题意:平面上n个点,问你是否存在一种黑白染色方案,使得对于该方案,无法使用一条直线使得黑色点划分在直线一侧,白色点划分在另一侧.如果存在,输出一种方案. 如果n<=2,显然不存在. 如果所有点共 ...
随机推荐
- react router路由传参
今天,我们要讨论的是react router中Link传值的三种表现形式.分别为通过通配符传参.query传参和state传参. ps:进入正题前,先说明一下,以下的所有内容都是在react-rout ...
- BZOJ_day???
哇哈哈哈哈,这周能不能保持这个呢?
- 微信小程序base64编码解码以及utf-8解码
function base64_encode (str) { // 编码,配合encodeURIComponent使用 var c1, c2, c3; var base64EncodeChars = ...
- Small things are better
Yesterday I had fun time repairing 1.5Tb ext3 partition, containing many millions of files. Of cours ...
- JS中this的指向问题(读书笔记纯手打~)
一.this JavaScrip的this总是指向一个对象,而具体指向哪个对象是在运行时基于函数的执行环境动态绑定的,而非函数被声明时的环境. 二.this的指向 根据运用情景可分为四类: 1.作为对 ...
- CSS样式实现溢出超出DIV边框宽度高度的内容自动隐藏方法
CSS样式实现溢出超出DIV边框宽度高度的内容自动隐藏方法 平时我们布局时候,有的文字内容多了会超过溢出我们限制的高度,有的图片会撑破DIV,让网页错位变乱. 这样我们就需要解决如何使用CSS来超出设 ...
- jsonp解析 html
https://jsoup.org/cookbook/ 官网的教程, 很详细! <dependency> <groupId>org.jsoup</groupId> ...
- ssh中的相对路径与绝对路径的问题
一:前言:自己在学习ssh的时候常常被路径给迷惑,就比如在刚刚学习jsp的servlet时,绝对路径和相对路径我就弄混了,所以专门写了一篇博客来记载.而现在自己是在学ssh的时候在此遇到路径问题,本来 ...
- loj6100 「2017 山东二轮集训 Day1」第一题
传送门:https://loj.ac/problem/6100 [题解] 我们考虑维护从某个端点开始的最长满足条件的长度,如果知道了这个东西显然我们可以用主席树来对每个节点建棵关于右端点的权值线段树, ...
- HDU5772 String problem
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission ...