好多题都不难的,本来还想着有人能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,有n2 和nlogn的解法,周赛的是简单版本,n2就能过
nyoj链接
luogu链接

C 三个水杯

一道普通的搜索题
csdn的题解1
题解2

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;
}

H 奇怪的排序

Codeforces Round #732 (Div. 2)的C题
CF题目链接
CF题解