2020年2月17日早上8:00,CCF发布了关于举办NOI Online能力测试的通知。
为给选手提供一个锻炼的机会,CCF拟举办一场NOI Online能力测试。测试分为入门组和提高组,每组限额报名3万人,人数报满关闭系统,每组成功报名选手在同一时间参加线上测试。
(http://www.noi.cn/newsview.html?id=1174&hash=BBB849&type=1)
3月7日下午2:30,测试开始。
但我打开山西区的网址(123.56.244.106:8765)后,基本是这样的
⬇⬇⬇
过了不久(下午3:40),学校oi队群里发来了某些欧皇的截图
⬇⬇⬇
正当这时,noi发来通知,网址改到了:123.56.79.18:8765,但是...
先看题吧,第一题——好像会,第二题——有思路,第三题——放弃
然后一看第一题:
【数据范围与提示】
对于测试点 1 ∼ 6:n ≤ 14。
对于测试点 7 ∼ 12:n 是 14 的倍数。
对于测试点 13 ∼ 18:n ≤ 100。
对于所有测试点:0 ≤ n ≤ 105。
果断打表得部分分:
#include<bits/stdc++.h>
using namespace std;
int main()
{
freopen("order.in","r",stdin);
freopen("order.out","w",stdout);
int n;
cin>>n;
if(n<3) cout<<-1;
else if(n==3) cout<<0<<" "<<0<<" "<<1;
else if(n==4) cout<<0<<" "<<1<<" "<<0;
else if(n==5) cout<<-1;
else if(n==6) cout<<0<<" "<<0<<" "<<2;
else if(n==7) cout<<0<<" "<<1<<" "<<1;
else if(n==8) cout<<0<<" "<<2<<" "<<0;
else if(n==9) cout<<0<<" "<<0<<" "<<3;
else if(n==10) cout<<0<<" "<<1<<" "<<2;
else if(n==11) cout<<0<<" "<<2<<" "<<1;
else if(n==12) cout<<0<<" "<<0<<" "<<4;
else if(n==13) cout<<0<<" "<<1<<" "<<3;
else if(n%14==0) cout<<n/14<<" "<<n/14<<" "<<n/14;
else if(n==33) cout<<1<<" "<<2<<" "<<6;
else cout<<"-1";
return 0;
} 以下是一个想得满分的思路(暂时想不出来)
#include<bits/stdc++.h>
using namespace std;
struct pt{
int aa;
int bb;
int cc;
int zx;
int h;
}s[1000];
int mmin(int x,int y,int z){
if(x!=y&&y!=z&&x!=z){
if(min(x,y)==x) return min(x,z);
else if(min(x,y)==y) return min(y,z);
}
}
int main()
{
freopen("order.in","r",stdin);
freopen("order.out","w",stdout);
int n,a,b,c;
int sum=0;
cin>>n;
if(n<3){
cout<<-1;
return 0;
}
for(a=0;7*a<=n-7;a++) {
sum=0;
for(b=0;4*b<=n-10;b++){
for(c=0;3*c<=n-11;c++) {
if((7*a+4*b+3*c)==n){
s[sum].aa=a;
s[sum].bb=b;
s[sum].cc=c;
s[sum].h=a+b+c;
s[sum].zx=mmin(a,b,c);
sum++;
}
}
}
}
for(int i=0;i<n;i++){
if(i-1>=0){
if(s[i].zx>s[i-1].zx) {
if(s[i].h>s[i-1].h) cout<<a<<" "<<b<<" "<<c;
break;
}
else{
cout<<-1;
break;
}
}
}
return 0;
} 于是我想上网站提交代码,却还是打不开。
就在这时,又改了一次网址:112.126.63.245:8765
于是我急忙打开网址,这次居然打开了,然后提交了打表版的第一题代码,就又⬇⬇⬇
更令人意外的是:考试时间从3月7日下午2:30-6:00改到了6:00-9:30
但由于一只蝙蝠,导致我们在某软件上课,一周要上六天课&&下周还要用某软件月考,导致我敲键盘的手指和脑子变得僵硬,所以我去写作业了。
(这不扯犊子吗)
详细题解:https://www.cnblogs.com/QYCbest/articles/12441222.html
总结
这次考试,网址换了三次(123.56.244.106:8765—123.56.79.18:8765—112.126.63.245:8765),网站很卡,题很难,我很菜。。。
以上为扯犊子
真正的总结:
1.重定向:freopen("输入文件名","r",stdin);
freopen("输出文件名","w",stdout);
2.贪心算法:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,是在某种意义上的局部最优解。
3.打表:一定要熟练,在实在解不出来题时再用(此乃下策)。
4.动态规划:将原问题分解,缩小成为子问题,设计该题的状态,确定初始值及边界值,寻找状态转移方程(递推式)。
5.一定要在平时多理解,多看书,少打游戏,多做题(辅助理解)
To be continued...

京公网安备 11010502036488号