2014-7-17 NOIP模拟赛

czy的后宫3

【题目描述】

上次czy在机房妥善安排了他的后宫之后,他发现可以将他的妹子分为c种,他经常会考虑这样一个问题:在[l,r]的妹子中间,能挑选出多少不同类型的妹子呢?

注意:由于czy非常丧尸,所以他要求在所挑选的妹子类型在[l,r]中出现次数为正偶数,你懂得。

问题简述:n个数,m次询问,每次问[l,r]区间有多少个数恰好出现正偶数次

【输入格式】

第一行3个整数,表示n,c,m

第二行n个数,每个数Ai在[1,c]之间,表示一个Ai类型的妹子

接下来m行,每行两个整数l,r,表示询问[l,r]这个区间的答案

【输出格式】

有m行,表示第i次询问的答案

【样例输入】

5 5 3

1 1 2 2 3

1 5

3 4

2 3

【样例输出】

2

1

0

【数据范围】

共有10组测试数据

1-4组n,m=500,2000,5000,10000,c=1000

5-7组n,m=20000,30000,40000,c=10000

8-10组n,m=50000,80000,100000,c=100000

数据保证随机生成

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=100010;
int n,m,c,vis[maxn],a[maxn],l,r,ans;
int main(){
    //freopen("Cola.txt","r",stdin);
    freopen("harem.in","r",stdin);
    freopen("harem.out","w",stdout);
    scanf("%d%d%d",&n,&c,&m);
    for(int i=1;i<=n;i++)scanf("%d",&a[i]);
    for(int i=1;i<=m;i++){
        scanf("%d%d",&l,&r);ans=0;
        memset(vis,0,sizeof(vis));
        for(int j=l;j<=r;j++)vis[a[j]]++;
        for(int j=1;j<=c;j++)
            if(vis[j]%2==0&&vis[j])ans++;
        printf("%d\n",ans);
    }
}

40分 暴力(我以为只能得20分)

czy的后宫4

【问题描述】

czy有很多妹子,妹子虽然数量很多,但是质量不容乐观,她们的美丽值全部为负数(喜闻乐见)。

czy每天都要带N个妹子到机房,她们都有一个独一无二的美丽值,美丽值为-1到-N之间的整数。他想要把这些妹子排成一个波动序列,这样相对“漂亮”(美丽值的绝对值较小)的妹子可以与她旁边的两个美丽值的绝对值较大的妹子形成鲜明的对比,整个序列相对将更加“美观”(不再那么无法直视)。

一个序列是波动序列仅当序列中的每个数比周围的两个数都大或都小(如果有的话)。

现在czy希望知道,长度为N的波动序列有多少种。两种序列A和B不同当且仅当存在一个i,使得Ai≠Bi。由于这个数目可能很大,你只对它除以P的余数感兴趣。

【输入格式】

输入文件czy.in仅含一行,两个正整数N, P。

【输出格式】

输出文件czy.out仅含一行,一个非负整数,表示你所求的答案对P取余之后的结果。

【样例输入输出】

czy.in

4 7

czy.out

3

说明:共有10种可能的序列,它们是:  1324 1423 2143 2314 2413  3142 3241 3412 4132 4231

(忽略负号)

【数据规模和约定】

对于20%的数据,满足N≤10;

对于40%的数据,满足N≤18;

对于70%的数据,满足N≤550;

对于100%的数据,满足3≤N≤4200,P≤10^9。

czy的后宫5

描述

czy要召集他的妹子,但是由于条件有限,可能每个妹子不能都去,但每个妹子都有一个美丽值,czy希望来的妹子们的美丽值总和最大(虽然……)。

czy有一个周密的电话通知网络,它其实就是一棵树,根结点为czy,他可以通知一些妹子(毕竟他不认识他的所有妹子嘛),称为他的下线(也就是儿子节点),下线们继续通知自己的下线。任何妹子都可以不去,但是任何一个妹子如果要去,则她的上线(也就是她的父亲节点)一定要去。

为了使妹子美丽值总和最大,czy想安排一下,(非强制)让一些妹子去。但是妹子数很多,人脑是难以应付的,所以他想让你用电脑解决。

输入格式

输入第一行两个整数n,m表示有n个妹子,至多只能去m个妹子。(1<=m<=n)

接下来2*n行,每两行代表一个妹子的信息(如果这个妹子没有子节点,就只有一行)。

每个妹子的第一行两个整数p,s,表示这个妹子美丽值为p,子节点个数s;(-100<=p<=100)

第二行s个整数,表示这个妹子的子节点的编号。czy的编号一定为1。

对于20%数据1<=n<=10

对于60%数据1<=n<=100

对于100%数据1<=n<=1000

输出格式

输出一个整数,表示权值的最大值。

样例输入

8 5

100 2

2 3

79 2

4 5

109 3

6 7 8

100 0

100 0

100 0

101 0

108 0

样例输出

518

czy的后宫6

题目描述

众所周知的是丧尸czy有很多妹子(虽然很多但是质量不容乐观QAQ),今天czy把n个妹子排成一行来检阅。但是czy的妹子的质量实在……所以czy看不下去了。检阅了第i个妹子会增加czy a[i]的肾虚值,他打算在检阅过程中最多休息m次(一开始检阅算0次休息,就是说czy最多可以检阅m+1次),每次休息过后czy又会龙精虎猛的继续检阅。问怎样分配才能使得czy在检阅过程中的最大肾虚值最小。

当然这么简单的问题czy早就会做啦……他原来还想算算满足肾虚值最小的条件下有几种方案,但是他太虚了,所以这个问题也交给你啦。你只要输出方案数mod 32123的值即可。

输入格式

第一行输入两个正整数n、m,表示czy的妹子数、最多的休息次数

接下来2到n+1行每行输入一个数a[i],意义见上

输出格式

第一行输出一个数s,表示最小的肾虚值

第二行输出一个数t,表示方案数

样例输入

4 2

3

4

5

2

样例输出

7

3

样例解释

最小的肾虚值为7

分法有3种:34|5|2,34|52,3|4|52

‘|’表示休息

数据范围

有30%的数据,1<=n<=20

另30%的数据,1<=n<=200

另30%的数据,1<=n<=5000,1<=m<=min(n-1,1000),1<=a[i]<=1000

另10%的数据,1<=n<=20000,1<=m<=1000,a[i]只有1、2

保证80%数据随机生成,在计算过程中不会爆int

蒟蒻czy又被D飞了

【题目描述】

机房里的各路巨神天天D蒟蒻CZY,早已是他们的日常任务了。(今天的机房也是很和平呢)

这一次他们安排好了一种方式来D蒟蒻Czy。每个人每次都能把Czy D飞一个高度(让Czy的高度+a[i]),由于他们的精♂力有限(尤其是某些后宫王),要保留体力应对接下来的战♂斗,所以他们每个人只会D Czy k[i]次。由于他们每个人的D人能力不同,各有所长,所以他们每个人都在Czy到一定高度h[i]以后良心发现,任由Czy自生自灭,回去玩达尔文进化岛了。(神犇们:计划通

所以Czy想知道他的速度是否能达到第二宇宙速度,离开这个可怕的地方。但是Czy太弱了,所以这个问题就交给了未来集训队的你。但是你这么吊,哪里屑解答Czy蒟蒻的问题。于是你打算只告诉他最高会飞到什么高度,让他自己算自己的速度去。(蒟蒻无人权)

【输入格式】 fly.in

第1行:1个整数N(1<=N<=100)N表示机房里有多少人今天要D 蒟蒻Czy

接下里N行,每行描述一个神犇的信息  a[i] h[i] k[i]

【输出格式】 fly.out

第1行:1个整数H,表示Czy最高会被神犇们D到哪里去

【样例输入】

7

8 35 1

5 35 1

15 35 1

8 35 1

10 35 1

4 35 1

2 35 1

【样例输出】

35

数据范围

对于40%的数据  所有人的k[i]==1, n<=10,h[i]<=100 且所有人的h[i]相等(天地良心,不要不信

对于100%的数据  1<=k[i]<=30,1<=h[i]<=10000,  1<=a[i]<=200

不做这题的下场如下

时间: 2024-10-05 17:51:17

2014-7-17 NOIP模拟赛的相关文章

NOIP模拟赛 6.29

2017-6-29 NOIP模拟赛 Problem 1 机器人(robot.cpp/c/pas) [题目描述] 早苗入手了最新的Gundam模型.最新款自然有着与以往不同的功能,那就是它能够自动行走,厉害吧. 早苗的新模型可以按照输入的命令进行移动,命令包括‘E’.‘S’.‘W’.‘N’四种,分别对应东南西北.执行某个命令时,它会向对应方向移动一个单位.作为新型机器人,它可以执行命令串.对于输入的命令串,每一秒它会按命令行动一次.执行完命令串的最后一个命令后,会自动从头开始循环.在0时刻时机器人

【简单思考】noip模拟赛 NTR酋长

NTR酋长 (ntr.pas/.c/.cpp) 黄巨大终于如愿以偿的进入了czy的后宫中……但是czy很生气……他要在黄巨大走到他面前的必经之路上放上几个NTR酋长来阻挡黄巨大. 众所周知,NTR酋长有一个技能是沟壑(F).它会在地图上产生一条长长的障碍物阻挡人前进.Czy打算在一个n*m的矩形(必经之路?)中放上NTR酋长.NTR酋长要一个一个放下去,而且每放一个都会向四角倾斜的方向放出无限长的沟壑,而已经被沟壑挡住的地方就不能再放NTR酋长了. 请注意:不会出现沟壑的路径挡住另一个沟壑的情况

【noip模拟赛】 射击

这题似乎是什么安阳一中的模拟题,不管了,反正是学长出的noip模拟赛里面的题目.... 射击(shoot.pas/.c/.cpp) 时间限制:1s,内存限制128MB 题目描述: 据史书记载,对越反击战时期,有位中国侦察兵,他的代号叫814.一天他执行狙击任务,他的任务地区是n座恰巧在一条直线上的山.这些山所在直线恰巧为东西走向,山从东到西依次编号为1~n.一天814隐藏在编号为k的山上,每座山上都有1个目标. 814也非常的厉害,任务结束时杀了很多人,可是史书中只记载了两点: 1:814一定攻

NOIP模拟赛

#1[Nescafé 31]杯NOIP模拟赛 t1 题意:n*m的棋盘上从(1,1)走到(n,m),只能向下或向右,一些格子有老鼠,每个老鼠互不相同,当处于与老鼠有重边的格子时,视为看见了这只老鼠,求到终点看到最少的不同老鼠数. 分析:DP 由于求得是看到的不同的老鼠数目,不能直接用过河卒做,因为同一个位置的老鼠可能会统计多次,我们还需要增加一维即方向. f[i,j,0]表示到从上面一个格子走到(i,j)时最少老鼠数,f[i,j,1]表示左边. f[i,j,0]:=min(f[i-1,j,0]+

2012-10-20 NOIP模拟赛

      2012-10-20 NOIP模拟赛 by coolyangzc 共3道题目,时间3小时 题目名 高级打字机 不等数列 经营与开发 源文件 type.cpp/c/pas num.cpp/c/pas exploit.cpp/c/pas 输入文件 type.in num.in exploit.in 输出文件 type.out num.out exploit.out 时间限制 1000MS 1000MS 1000MS 内存限制 256MB 256MB 256MB 测试点 5+(5) 10

2017 9 11 noip模拟赛T2

#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=205; int map[N][N]; int d[N],tag[N],book[N],f[N]; int n,m; void work(int x) { memset(d,63,sizeof(d)); memset(book,0,sizeof(book)); memset(f,0,sizeof(

【noip模拟赛4】Matrix67的派对 暴力dfs

[noip模拟赛4]Matrix67的派对 描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们安排在圆桌上.Matrix67的安排原则是,圆桌上任意两个相邻人的身高之差不能超过K.请告诉Matrix67他共有多少种安排方法. 输入 第一行输入两个用空格隔开的数N和K,其中1<=N<=10,1<=K<=1 000 000. 第二行到第N+1行每行输入一个人的身高值.所有人的身高都是不

2014-11-3 NOIP模拟赛2

NOIP 2014 水题模拟赛 (请选手务必仔细阅读本页内容) 一.题目概况 中文题目名称 数列 刷漆 排队 英文题目与子目录名 seq paint layout 可执行文件名 seq paint layout 输入文件名 seq.in paint.in layout.in 输出文件名 seq.out paint.out layout.out 每个测试点时限 2 秒 1 秒 1 秒 测试点数目 10 10 10 每个测试点分值 10 10 10 附加样例文件 无 无 无 结果比较方式 全文比较(

liu_runda 给辣鸡蒟蒻做的 NOIP模拟赛 1.0 第二题 任(duty) 题解

问题 B: 任(duty) 时间限制: 2 Sec  内存限制: 512 MB 题目描述 liu_runda退役之后就失去梦想开始咸鱼生活了- Bilibili夏日画板活动中,所有人都可以在一块画板上进行像素画创作.UOJ群有一群无聊的人决定在画板上创作一个50*50的UOJ的LOGO.如下图. 这块画板实际上是很大的矩形网格.一个网格是一像素. 一个人每三分钟才能画一个像素.所以liu_runda的咸鱼生活非常无聊. 郭神表示他实在是看不下去liu_rudna这只颓狗了,于是随手出了一道神题,

2014-9-9 NOIP模拟赛

东方幻想乡系列模拟赛Stage 1命题 Nettle审题 Barty ccy1991911 FlanS39 Wagner T2 高精除高精,从来没写过,不知道怎么写,我就用大数减小数ans次,果断超时. T4 Tarjan的板子题,好久没写,中间出现了一些小错误 ①是尽管有双向边,Tarjan函数中也不必排除双向边 ②Tarjan算法有时候不能一步完成,需要做最多n次,用循环解决 ③问题是关于这个题目的虽然输入n代表有n个点,但是下面的连边中有些点根本没出现过,所以设一个数组记录有效点. Pro