[OI]Noip 2018总结(普及)

博主回顾了2018年Noip普及组的比赛,从初赛到复赛,详细分析了每个题目的思路、程序和错误总结。在比赛中遇到的问题包括使用错误的函数、未开启long long导致WA、时间管理不当等。尽管表现不佳,博主表示将从失败中吸取教训,为下一次比赛做准备。
摘要由CSDN通过智能技术生成

考砸了,还有原谅我代码十分有限的可读性。

一个人的真正伟大之处就在于他能够认识到自己的渺小。——保罗

从一年前初一九月到现在18年10月接触OI已经有一年了。几次模拟赛也自我感觉良好,都过了一等的线,自己考试的心态当时也放的挺平。但也没想到会考出这么差的分数。

于是乎今天来总结一下Noip 2018(普及组)的题目。希望自己能好好反思一下自己。

Tips:民间数据分数分别来自:某不明dalao;洛谷;某中学数据

初赛篇

这是整个比赛当中出问题最严重的地方,自己在几次模拟赛中初赛成绩普遍偏低,当晚上知道自己算出来才64分的时候心里那个慌呀,等了一个星期得到消息自己是62分,刚刚好61分是GD分数线,很幸运的自己过了初赛。

虽然初赛很水,但是自己真的得加强了,程序填空倒数第一题比倒数第二题还高几分,错误很zz,都是些没写Ans=***之类的问题。


复赛篇

去广州二中的路上非常ok,老师还给了我们棒棒糖和奶糖。几颗糖下肚,那份紧张感就完全消散了,在路上看看书,聊聊天,再玩下手机就到了地点。

T1 标题统计

T1 标题统计

T1 分析

我们可以非常清晰地得出这是一道喷香的水题,有人用了gets(),不清楚会不会WA,我用了getline().然后判断空格。

民间数据分数:100;100;100

Noip官方分数:100

T1 程序

#include<fstream>
using namespace std;
string s;
int Ans;
int main()
{
    getline(cin,s);
    for(int i=0;i<s.size();i++)
    if(s[i]!=' ')Ans++;
    printf("%d",Ans);
}

T1 总结

奇怪函数别乱用,小心WA就不管用。


T2 龙虎斗

T2 龙虎斗

T2 分析

刚开始没开long long,令人着迷

枚举每一个点放置是否更优,更优就更替。

这道题不难,单纯模拟就可以做出来,需要注意的时要是双方势力相当时或 s2 放在哪里都不合适时要放在 m 点上。

T2 程序

#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
const int N=100005;
int n,m,p1,s1,s2,res;
long long sumd,sumt,Ans,tmp;
int c[N];
int Find()
{
    register long long i;
    Ans=abs(sumd-sumt);res=m;
    if(sumd<sumt)
    for(i=1;i<m;i++){
        tmp=s2*(m-i);
        if(abs(tmp+sumd-sumt)<Ans)
        Ans=abs(tmp+sumd-sumt),res=i;
    }
    if(sumt<sumd)
    for(i=m+1;i<=n;i++){
        tmp=s2*(i-m);
        if(abs(tmp+sumt-sumd)<Ans)
        Ans=abs(tmp+sumt-sumd),re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值