更好的阅读体验:http://www.abmcar.top/archives/nyistacm924contest
好多题都不难的,本来还想着有人能AK,结果就ABG有人过,甚至还有爆零的,充分体现了之前基础知识不牢固,望部分同学能回过头来认真反思下,知识不是听过看过就扔在一边,要自己真的能独立上手写题了才行
A 石子合并
貌似为信息学奥赛入门的一本书的改编版,未在其他oj找到
nyoj的题目地址
#include<bits/stdc++.h>
using namespace std;
int v[10005];
int n, k;
int check(int mid)
{
int now = 0, cnt = 0;
for(int i = 0; i < n; ++i)
{
now += v[i];
if(now >= mid) now = 0;
else ++cnt;
}
/*
合成一堆都小于mid时,cnt=n > k,返回0
末尾合并的堆小于mid时,由于必定存在一堆>mid,那么cnt+1与前一堆合并即可
*/
return cnt <= k;
}
int main()
{
int t;
for(scanf("%d",&t); t; --t)
{
scanf("%d%d",&n,&k);
for(int i = 0; i < n; ++i) scanf("%d",&v[i]);
int l = 0, r = 1e9, ans, mid;
while(l <= r)
{
mid = (l+r) >> 1;
if(check(mid)) ans = mid, l = mid+1;
else r = mid-1;
}
printf("%d\n",ans);
}
return 0;
}
B 拦截导弹
经典dp,有n^2 和nlogn的解法,周赛的是简单版本,n^2就能过
nyoj链接
luogu链接
C 三个水杯
D 积木大赛
这道题最初出在2013年的NOIP提高组,后来又在NOIP2018提高组的D1T1出现
一道很经典的贪心,在2018年河南提高组,A了这一题就能拿到省三了
nyoj链接
Luogu链接 积木大赛(2013)
Luogu链接 铺设道路(2018)
E 无线网络发射器选址
简单的模拟暴力,注意负数坐标的处理即可
Luogu链接
F 交换
Codeforces Round #743 (Div. 2)的B题
CF题目链接
CF题解
G 概率
cxs原创
这里给一份首A的同学的代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cstring>
#include<cmath>
const int N = 1e5+10;
using namespace std;
int main()
{
int t; scanf("%d",&t);
while(t--){
int n;scanf("%d",&n);
int l = 0, r = 0;
double num;
for(int i = 1;i <= n;i++){
scanf("%lf",&num);
if(num >= 1) l++;
else r++;
}
if(l > r) cout << "SECOND" << endl;
else cout <<"FIRST" << endl;
}
return 0;
}