[NKNY]寒假培训《NY寒假有奖欢乐赛 》总结
说明 NY寒假有奖欢乐赛
类别 日常作业题目列表
考试规则 信息学奥赛规则
开始时间 2022/1/22 9:00:00
结束时间 2022/1/22 12:20:00
总时长 3小时 20分钟
参考人数 共 36 人进入, 35 人提交
提交限制 每题不超过 2 次 ←这是重点
题目 A | 石头-布游戏 | 28 / 40 | 提交 | 状态 | 答疑 |
题目 B | 货仓选址 | 28 / 46 | 提交 | 状态 | 答疑 |
题目 C | 【分类练习3.贪心】智力大冲浪 | 15 / 28 | 提交 | 状态 | 答疑 |
题目 D | 会飞的gjy | 8 / 46 | 提交 | 状态 | 答疑 |
题目 E | 选举 | 11 / 38 | 提交 | 状态 | 答疑 |
题目 F | nodgd跑路 | 2 / 25 | 提交 | 状态 | 答疑 |
题目 G | 恢复公路网 | 4 / 30 | 提交 | 状态 | 答疑 |
排名 | 用户名 | 总得分 | 总用时 | A | B | C | D | E | F | G |
---|---|---|---|---|---|---|---|---|---|---|
1 |
chen_zhewch 超级大魔芋 |
723.8 | 669 |
100 [1] |
100 [1] |
100 [1] |
100 [1] |
100 [1] |
125 [1] |
98.8 [1] |
2 |
aoliao -*◐余奥林◑*- |
723.8 | 3270 |
100 [1] |
100 [1] |
100 [1] |
100 [1] |
100 [2] |
125 [1] |
98.8 [1] |
3 |
Chara Eulerclid-Theory |
598.8 | 1244 |
100 [1] |
100 [1] |
100 [1] |
100 [3] |
100 [2] |
0 [1] |
98.8 [1] |
4 |
liyixi 李奕希 |
555.4 | 201 |
100 [1] |
100 [1] |
100 [1] |
100 [4] |
0 [2] |
125 [1] |
30.4 [1] |
5 |
xfh1 Odin |
543.8 | 885 |
100 [1] |
100 [1] |
100 [1] |
40 [2] |
100 [1] |
5 [1] |
98.8 [1] |
6 |
yuqiancheng1 Administrator |
505 | 0 |
100 [1] |
100 [2] |
100 [1] |
100 [1] |
100 [1] |
5 [1] |
|
7 |
zhengyixuan 郑意轩 |
500 | 15 |
100 [1] |
100 [1] |
100 [1] |
100 [1] |
100 [2] |
0 [2] |
|
8 |
cuiliyang ^_^ |
430.4 | 1261 |
100 [1] |
100 [1] |
100 [1] |
100 [2] |
0 [2] |
30.4 [1] |
|
9 |
Rain ٩(๑>◡<๑)۶ |
425.4 | 0 |
100 [1] |
100 [1] |
100 [1] |
90 [1] |
0 [2] |
5 [1] |
30.4 [2] |
10 |
Qingliu a fifteen的健人罗健榕 |
420.4 | 280 |
100 [1] |
100 [1] |
100 [2] |
10 [1] |
80 [2] |
30.4 [1] |
|
11 |
whs090119 万叶の友人 |
420 | 93 |
100 [1] |
100 [1] |
100 [1] |
20 [1] |
100 [1] |
||
12 |
XZRSEVEN 徐子然 |
418 | 0 |
100 [1] |
100 [1] |
0 [2] |
80 [2] |
100 [1] |
0 [1] |
38 [2] |
13 |
heaker 魏嘉仪 |
412.4 | 0 |
72 [1] |
100 [1] |
100 [1] |
10 [2] |
40 [1] |
60 [1] |
30.4 [1] |
14 |
lubenwei 55555伍思卓55555 |
360.4 | 93 |
100 [2] |
100 [2] |
0 [2] |
30 [2] |
100 [2] |
30.4 [1] |
|
15 |
zpqzpq 钟沛其 |
350.4 | 0 |
100 [2] |
100 [2] |
100 [2] |
10 [3] |
10 [2] |
0 [3] |
30.4 [1] |
16 |
YJC423264 Dream |
345.4 | 0 |
100 [1] |
100 [1] |
100 [1] |
10 [2] |
5 [2] |
30.4 [1] |
|
17 |
libolin1 ? ? ? |
342.8 | 295 |
100 [1] |
100 [1] |
0 [1] |
20 [1] |
100 [1] |
22.8 [2] |
|
18 |
zhuchuyu zcy |
340.4 | 404 |
100 [2] |
100 [1] |
100 [2] |
10 [1] |
30.4 [1] |
||
19 |
lucky_sky lucky |
330.4 | 15 |
100 [1] |
100 [1] |
100 [2] |
30.4 [2] |
|||
20 |
LUO1103 罗培淋 |
330.4 | 234 |
100 [1] |
100 [1] |
100 [1] |
30.4 [1] |
|||
21 |
huangyucheng123 私は神である |
300.4 | 295 |
40 [2] |
100 [2] |
100 [2] |
10 [1] |
20 [1] |
30.4 [1] |
|
22 |
lijiaxin - |
280 | 0 |
100 [1] |
100 [1] |
20 [1] |
0 [1] |
60 [2] |
||
23 |
Jarvis Ralsei |
266.4 | 0 |
36 [2] |
100 [2] |
100 [2] |
0 [1] |
30.4 [1] |
||
24 |
yhx123 杨瀚翔 |
260.4 | 30 |
100 [1] |
100 [2] |
20 [1] |
10 [2] |
30.4 [1] |
||
25 |
lijiale ༺༒[100%]༒༻ |
250.4 | 0 |
100 [1] |
0 [2] |
100 [1] |
10 [2] |
10 [2] |
0 [2] |
30.4 [1] |
26 |
liwenbo 李文博 |
250 | 296 |
60 [2] |
100 [1] |
0 [1] |
90 [1] |
0 [1] |
||
27 |
xyxy 赵一帆 |
240.4 | 202 |
100 [1] |
100 [1] |
10 [1] |
0 [1] |
30.4 [1] |
||
28 |
stevein Newuser. |
217.6 | 310 |
100 [2] |
100 [2] |
0 [1] |
10 [2] |
0 [2] |
7.6 [2] |
|
29 |
yanghaoran 杨浩然 |
200 | 0 |
100 [1] |
100 [1] |
|||||
30 |
YRY. 杨蕊语 |
160 | 0 |
100 [2] |
60 [1] |
|||||
31 |
syc1 时逸岑 |
140.4 | 0 |
100 [1] |
0 [2] |
10 [1] |
30.4 [2] |
|||
32 |
Morax_whs Morax |
120 | 0 |
20 [2] |
100 [2] |
|||||
33 |
cheng_xi 程茜 |
110 | 15 |
100 [1] |
0 [2] |
10 [1] |
0 [2] |
|||
34 |
xkeyu 熊柯宇 |
100 | 0 |
100 [2] |
||||||
35 |
Herobrine ZHT |
100 | 311 |
100 [2] |
A石头-布游戏
时间限制 : - MS 空间限制 : - KB 评测说明 : 1s 256MB 问题描述
AK_IOI和AK_NOIP两位同学正在玩一个游戏,这个游戏一共局。每一局,每一个玩家可以用手出“石头”和“布”两个手势之一,与“石头剪刀布”游戏类似,即出”布“的玩家赢出“石头”的玩家。为了防止某位同学耍赖,特增加一个规则:局游戏玩完后,玩家出布的次数的次数 玩家出石头的次数。另外,每一个玩家的分数等于玩家赢的次数这个玩家输的次数。
由于AK_IOI同学具有预知未来10秒的能力,所以他每次都能预知AK_NOIP同学的手势,请制定计划让AK_IOI同学的分数最大化。
AK_NOIP同学在每一局中的手势将用字符串来表示,如果中的第个字母是,则表示在第局比赛中,他出”石头“,同样,如果中的第个字母是,则表示在第局比赛中,他出”布“。
输入格式
输入的第一行包括一个字符串,长度为,由字母和组成。
输出格式
输出AK_IOI的最大可能分数
样例输入 1
gpg
样例输出 1
0
样例输入 2
ggppgggpgg
样例输出 2
2
提示
样例一: 每一轮与对手手势相同,将得到最大可能分为0.
样例二: AK_IOI可以按照下面顺序出手势:石头、布、石头、布、石头、石头、布、布、石头、布。可以赢3局输1局。得分为2。
#include<bits/stdc++.h> using namespace std;string a; int gp[3],tot,len; int g,p; int win,lose;int main(){cin>>a;len=a.length();a=' '+a;for(int i=1;i<=len;i++){if(a[i]=='g')gp[1]++;else gp[2]++;tot++;}// G > Pif(tot%2==0){g=tot/2;p=tot/2;}else{p=tot/2;g=p+1;}for(int i=1;i<=len;i++){if(a[i]=='g'){if(p>0)p--,win++;}else{if(p>0)p--;else lose++;}}cout<<win-lose; }
B货仓选址
时间限制 : - MS 空间限制 : - KB 评测说明 : 1s 256MB 问题描述
在一条数轴上有 家商店,它们的坐标分别为 。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。
输入格式
第一行一个整数 ,第二行 个整数 。
输出格式
一个整数,表示距离之和的最小值。
样例输入
4
6 2 9 1样例输出
12
#include<bits/stdc++.h> #pragma GCC optimize(3,"Ofast","inline") using namespace std; int n,a[100005],p,ans; int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;for(int i=1; i<=n; i++)cin>>a[i];sort(a+1,a+1+n);p=a[n/2];for(int i=1;i<=n;i++)ans+=abs(p-a[i]);cout<<ans; } //AC
C【分类练习3.贪心】智力大冲浪
时间限制 : 10000 MS 空间限制 : 65536 KB 问题描述
小伟报名参加中央电视台的智力大冲浪节目。本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元。先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则:
首先,比赛时间分为n个时段(n≤500),它又给出了很多小游戏,每个小游戏都必须在规定期限ti前完成(1≤ti≤n)。
如果一个游戏没能在规定期限前完成,则要从奖励费m元中扣去一部分钱wi,wi为自然数,不同的游戏扣去的钱是不一样的。当然,每个游戏本身都很简单,保证每个参赛者都能在一个时段内完成,而且都必须从整时段开始。主持人只是想考考每个参赛者如何安排组织自己做游戏的顺序。
作为参赛者,小伟很想赢得冠军,当然更想赢取最多的钱!注意:比赛绝对不会让参赛者赔钱!
输入格式
共4行。
第1行为m,表示一开始奖励给每位参赛者的钱;
第2行为n,表示有n个小游戏;
第3行有n个数,分别表示游戏1到n的规定完成期限;
第4行有n个数,分别表示游戏1到n不能在规定期限前完成的扣款数。
输出格式
仅1行。表示小伟能赢取最多的钱。
样例输入
10000
7
4 2 4 3 1 4 6
70 60 50 40 30 20 10样例输出
9950
#include<bits/stdc++.h> #pragma GCC optimize(3,"Ofast","inline") using namespace std; int m,n; struct node {int num;int time;int monney; } a[505]; bool f[505]; int ti,ans,res,re;bool cmp(node a,node b) {if(a.time==b.time)return a.monney>b.monney;else return a.time<b.time; }int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>m>>n;for(int i=1; i<=n; i++) {a[i].num=i;cin>>a[i].time;}for(int i=1; i<=n; i++) {cin>>a[i].monney;}sort(a+1,a+1+n,cmp);for(int i=1; i<=n; i++) {//cout<<a[i].time<<" "<<a[i].monney<<endl;ti++;//cout<<ti<<endl;if(ti>a[i].time) {res=a[i].monney;re=0;for(int j=1; j<i; j++) {if(f[j]==0&&a[j].monney<=res)res=a[j].monney,re=j;}//cout<<i<<" "<<re<<" "<<res<<endl;f[re]=1;ans+=res;ti--;//cout<<ans<<endl;}}cout<<m-ans; } //AC
D会飞的gjy
时间限制 : - MS 空间限制 : - KB 评测说明 : 1s 256MB 问题描述
gjy同学某天来到了一条笔直的公路上,他在这条公路上拥有可以飞的超能力。
飞行的规则如下:公路被分为了n段,分别编号为1到n。
对于1<=i<=n,第i个段上有一个正整数Xi。当他处于第a段公路时,他可以选择往前飞Xa段,或者往后倒退Xa段。当然如果Xa+a>n,那么他就只能选择后退;同理如果a-Xa<1,那么他就只能选择前进。保证不会出现既不能前进又不能后退的情况。
现在需要你判断:从编号s出发,至少需要经过几把,可以到达t号点?(例如在a点选择往前走Xa步,称之为一把)。
输入格式
第一行三个整数,分别为n,s,t意义如题面所述。
第二行n个正整数,第i个数为Xi。
输出格式
一个数,为最少经过的把数。如果s无法到达t,输出-1。
样例输入
6 6 4
1 2 2 3 1 2样例输出
1
提示
对于前10%的数据,s=t;
对于前40%的数据,n<=200;
对于另外10%的数据,s无法到达t;
对于100%的数据,n<=200000;
//一个很暴力的做法,能上或者能下就走一遍,如果进入死循环就输出-1 //当时没想出如何跳出... #include <bits/stdc++.h> #pragma GCC optimize(3,"Ofast","inline") #define ll long long using namespace std; ll n,k,temp,l=1,s,t; ll ans[1000001],s2[1000001]; bool flag=1; inline op() {while(ans[t]==-1&&flag) {flag=0;for(ll i=1; i<=n; i++) {if(ans[i]==temp) {k=i+s2[i];if(k<=n&&ans[k]==-1) {flag=1;ans[k]=temp+1;}k=i-s2[i];if(k>=1&&ans[k]==-1) {flag=1;ans[k]=temp+1;}}}temp++;} } int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>s>>t;for(ll i=1; i<=n; i++) {ans[i]=-1;cin>>s2[i];}ans[s]=0;op();cout<<ans[t]; } //AC
#include <bits/stdc++.h> #pragma GCC optimize(3,"Ofast","inline") #define ll long long using namespace std;ll n,b[1001],w[1001],ans;int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;for(int i=1; i<=n; i++) {cin>>b[i]>>w[i];if(i>=2) {ll j=max((b[i-1]+b[i]-1)/b[i],((w[i-1]+w[i]-1)/w[i]));if(b[i]*j>=b[i-1]&&w[i]*j>=w[i-1]) {b[i]=b[i]*j;w[i]=w[i]*j;}}}cout<<b[n]+w[n]; } //AC
F nodgd跑路
时间限制 : 1000 MS 空间限制 : 65536 KB 问题描述
nodgd位于一个 H*W的棋盘的左上角格子,每次只能向右或者向下移动一格。
棋盘的最左下方的A*B 个格子不能走,有多少种方法可以走到右下角的格子?答案 mod 10^9+7。
输入格式
输入一行四个整数 H W A B。
输出格式
输出一个整数答案。
样例输入 1
2 3 1 1
样例输出 1
2
样例输入 2
10 7 3 4
样例输出 2
3570
提示
样例1解释
棋盘如下所示,.
表示可以走,#
不能走。两种方式分别是“右右下”和“右下右”。/* ... #.. */#include <bits/stdc++.h> #pragma GCC optimize(3,"Ofast","inline") #define ll long long using namespace std; const int N=2e5,mod=1e9+7; int fact[N+10],infact[N+10],inf[N+10]; int C(int a,int b) {return 1ll*fact[a]*infact[a-b]%mod*infact[b]%mod; } int h,w,a,b,ans; int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);for(int i=0; i<2; i++)fact[i]=inf[i]=infact[i]=1;for(int i=2; i<=N; i++) {inf[i]=1ll*(mod-mod/i)*inf[mod%i]%mod;infact[i]=1ll*infact[i-1]*inf[i]%mod;fact[i]=1ll*fact[i-1]*i%mod;}cin>>h>>w>>a>>b;a=h-a;for(b++; a>=1&&b<=w; a--,b++)ans=(1ll*ans+1ll*C(a+b-2,a-1)*C(h-a+w-b,h-a)%mod)%mod;cout<<ans;return 0; }
G恢复公路网
时间限制 : - MS 空间限制 : 262144 KB 问题描述
在传说中的天国里,有座n城市,在一些城市之间,通过双向道路相连,这些道路都有各自的长度,且是整数。天国里不同城市的人们交往只能通过这些双向道路,如果两座城市没有直达道路,但可以在某座城市中转一下也是可以交往的。
一张可能代表了城市之间的最短距离的表格落入到你的手中,表格有n行m列,其中u第行、第v列的 A(u,v) 整数指的是城市到城市的最短路径长度。你先假设表中的数据都是正确的,根据表格中的信息来推断一下天国的公路网,如果能推出公路网,说明表格中的数据是没错的,并输出这张公路网的最小总长度(所有道路之和)。如果无论如何也无法推出公路网,那说明表格中的数据可能不准确,公路网不存在,输出-1。
输出格式
如果能推出公路网,说明表格中的数据是没错的,并输出这张公路网的最小总长度(所有道路之和)。如果无论如何也无法推出公路网,那说明表格中的数据可能不准确,公路网不存在,输出-1。
样例输入 1
3
0 1 3
1 0 2
3 2 0样例输出 1
3
样例输入 2
3
0 1 3
1 0 1
3 1 0样例输出 2
-1
样例输入 3
5
0 21 18 11 28
21 0 13 10 26
18 13 0 23 13
11 10 23 0 17
28 26 13 17 0样例输出 3
82
样例输入 4
3
0 1000000000 1000000000
1000000000 0 1000000000
1000000000 1000000000 0样例输出 4
3000000000
#include <bits/stdc++.h> #pragma GCC optimize(3,"Ofast","inline") using namespace std; int n; long long a[301][301]; bool cmp[301][301]; long long floyd() {long long ans=0;for(int i=1; i<=n; i++) {for(int j=1; j<=n; j++) {if(i==j)continue;for(int k=1; k<=n; k++) {if(k==i||k==j)continue;if(a[j][i]+a[i][k]<a[j][k])return -1;if(a[j][i]+a[i][k]==a[j][k])cmp[j][k]=1;}}}for(int i=1; i<=n; i++) {for(int j=i+1; j<=n; j++) {if(!cmp[i][j]) {ans+=a[i][j];}}}return ans; }int main() {scanf("%d",&n);for(int i=1; i<=n; i++)for(int j=1; j<=n; j++)scanf("%lld",&a[i][j]);printf("%lld",floyd()); }
[NKNY]寒假培训《NY寒假有奖欢乐赛 》总结相关推荐
- 大一寒假培训(三)——暴力枚举及妙用
大一寒假培训(三) 经过两天的培训之后,第三天也到来了.今天讲的是暴力枚举.好像没什么可讲的(悄咪咪地说) 接下来还是今天的练习 nefu 8 二倍的问题 Description 给定2到15个不同的 ...
- 大一寒假培训(二)——快排与桶排
大一寒假培训(二) 今天是寒假培训的第二天,今天学了快排和桶排.以下是今天做的习题. nefu 1481 谁考了第k名-排序 Description 在一次考试中,每个学生的成绩都不相同,现知道了每个 ...
- java寒假培训总结
前言 java寒假培训大概分了这几个板块 认识java 简单的java程序 Java基础程序设计 数组与方法 面向对象编程 提示:以下是本篇文章正文内容,下面案例可供参考 一.认识java 1.介绍j ...
- 2019BNUZ_ACM国庆欢乐赛题解
目录 题目来源 : A.小沛的暑假安排 B.nsy上幼儿园 C.nsy上小学 D.怡姐的游戏 E.如风般奔跑 F.cjb找朋友 G. 黑魔仙wgc的攻击 H. 皓洲喜欢经纬线 I. 小枫买车 J. 单 ...
- 【题解】Comet OJ 夏季欢乐赛(2019)A 完全k叉树⭐⭐ 【思维】
Comet OJ 夏季欢乐赛(2019)A 完全k叉树⭐⭐ 欢迎报考JWJU!这里有丰富的社团活动,比如为梦想奋斗的ACM集训队,经常组织飞行棋的桌游协会,喜欢"唱,跳,rap,篮球&quo ...
- 综合-某假期欢乐赛 (Apri, 2018)
假期欢乐赛,确实挺轻松的,被逼迫写了题解. A.推数 按列观察,有的列有多个格子,看起来好复杂啊,先放一放. 按行观察,黑色格子在 i 行 j 列: 当 i 是奇数,对应数字第 i 位是 j-1 当 ...
- Comet OJ - 2019国庆欢乐赛(赛后整理)
Comet OJ - 2019国庆欢乐赛(赛后整理) 比赛链接:传送门 PS: 做题失误: A题wa了好久不知道为什么,后来才知道乘法爆long long了 B题思路错了,应该在想清楚些. 比赛过程中 ...
- BNUZ-ACM 2019国庆新生欢乐赛 E.如风般奔跑(题目详解+代码)
原题链接:BNUZ-ACM 2019 E.如风般奔跑 BNUZ-ACM 2019国庆新生欢乐赛 E.如风般奔跑 题目 题目大意 这题题目的大意是:给你一个800米的环形跑道以及小陈和小张的速度,问你什 ...
- BNUZ-ACM 2018国庆新生欢乐赛部分题解+思路(已解出答案部分)
由于时间不足,本人在新生赛仅浏览了四题,其中两题完全通过. 下面是已解出的一题,供比对和取优. A. 三角恋 下面贴上原题: 我的思路: 首先需要一个while(scanf)循环,以供测试器循环测试各 ...
最新文章
- (总结)CentOS 6.x使用yum快速安装Apache+PHP+Tomcat(JSP)+MySQL
- PostgreSQL — Prepared Statement 预编译
- 曾经成功的敏捷团队为什么失败?
- 调用startActivityForResult后,onActivityResult立刻回调
- php pdo预处理查询,关于php:从PDO预处理语句中获取原始SQL查询字符串
- SqlDataAdapter和SqlCommandBuilder删除数据
- jfinal文件上传
- 西门子smartclient怎么用_西门子官方应用Sm@rtClient Lite APP
- linux 编译src.rpm,CentOS6.5下编译src.rpm包的内核
- 定义下一代存储,打造全新一代数据基础设施
- 不学无数——适配器模式
- esp32语音播放天气预报
- 无线音箱解决方案开发过程
- Win系统设置虚拟内存
- 基于遗传算法的神经网络,遗传算法训练神经网络
- 设置共享文件夹在主机与本地VMware虚拟机之间传输文件
- 用户态协议栈之tcp/ip设计
- SQL语句如何精准查找某一时间段的数据
- Java艺术字图片生成
- CVE(2017-15715、2021-41773、2021-40438)漏洞复现