\(NOIP2018\)普及AFO记

178pt,2=,in ZJ_Hangzhou_学军中学

\(Day\) \(0\)

中午就请假回家打模板

\(Day\) \(1\) \(A.M.8-12\)

早上起来继续打膜板,刷了几道题目,被一到二分卡住了,查了一下发现我某个地方打错了

中饭没在学校吃,在旁边餐馆吃了面

\(Start!\)

这次临时增加机位,加了300多人,在体育馆里,用着全套键鼠的笔电

\(T1\)

我看了一会题目,确认这是到打卡题,然后10min码完

  1. #include<cstdio>
  2. using namespace std;
  3. int main(void)
  4. {
  5. freopen("title.in","r",stdin);
  6. freopen("title.out","w",stdout);
  7. register char c;
  8. int cnt=0;
  9. while(true)
  10. {
  11. c=getchar();
  12. if(c==EOF)
  13. break;
  14. if(c!='\n'&&c!='\r'&&c!=' ')
  15. ++cnt;
  16. }
  17. printf("%d\n",cnt);
  18. return 0;
  19. }

luogu 100pt,ccf 100pt

\(T2\)

我一看,这不是某galgame么在草稿纸上模拟了30min才了解题意,想出了正解

然后码了3份代码...

在我认为应该没什么问题的时候,比赛只剩30min了

第3版代码:

  1. #include<cstdio>
  2. #include<algorithm>
  3. using namespace std;
  4. const int MaxN=1e5+1;
  5. typedef long long ull;
  6. inline ull rd()
  7. {
  8. ull s=0;
  9. char c=getchar();
  10. while(c<'0'||c>'9')
  11. c=getchar();
  12. while(c>='0'&&c<='9')
  13. s=(s<<3)+(s<<1)+c-'0',c=getchar();
  14. return s;
  15. }
  16. ull a[MaxN];
  17. int main(void)
  18. {
  19. freopen("fight.in","r",stdin);
  20. freopen("fight.out","w",stdout);
  21. int n;
  22. int m,p1,s1,s2;
  23. ull qi1=0,qi2=0;
  24. scanf("%d",&n);
  25. for(int i=1;i<=n;++i)
  26. a[i]=rd();
  27. scanf("%d %d %d %d",&m,&p1,&s1,&s2);
  28. a[p1]+=s1;
  29. for(int i=m-1,j=1;i>=1;--i,++j)
  30. qi1+=a[i]*j;//,a[i]*=j;
  31. for(int i=m+1,j=1;i<=n;++i,++j)
  32. qi2+=a[i]*j;//,a[i]*=j;,printf("%lld\n",qi2);
  33. // printf("%lld\n",0x7fffffffffffffff);
  34. if(qi1>qi2)
  35. {
  36. int cnt=m;
  37. while(qi2<qi1&&cnt<n)
  38. qi2+=s2,++cnt;
  39. if(qi2==qi1)
  40. {
  41. printf("%d\n",cnt);
  42. return 0;
  43. }
  44. if(abs(qi2-s2-qi1)<abs(qi2-qi1))
  45. {
  46. printf("%d\n",cnt-1);
  47. return 0;
  48. }
  49. else
  50. {
  51. printf("%d\n",cnt);
  52. return 0;
  53. }
  54. }
  55. else if(qi1<qi2)
  56. {
  57. int cnt=m;
  58. while(qi1<qi2&&cnt>1)
  59. qi1+=s2,--cnt;
  60. if(qi1==qi2)
  61. {
  62. printf("%d\n",cnt);
  63. return 0;
  64. }
  65. if(abs(qi1-s2-qi2)<abs(qi1-qi2))
  66. {
  67. printf("%d\n",cnt-1); //ERROR
  68. return 0;
  69. }
  70. else
  71. {
  72. printf("%d\n",cnt);
  73. return 0;
  74. }
  75. }
  76. else
  77. {
  78. printf("%d\n",m);
  79. return 0;
  80. }
  81. return 0;
  82. }

luogu 96pt,ccf 68pt

我比赛后晚上重新默写代码的时候突然发现了在ERROR处的错误代码

其实\(qi1<qi2\)的部分我是直接复制\(qi1>qi2\)的,忘记改这里了,然后GG

这道题的大样例死活跑不过去,我手算都觉得样例是错的emming

\(T3\)

事实上,我在码完t2的第2版代码的时候,开始搞这一题

我一开始就考虑二分(毕竟很像二分)

然后我发现无法判断能不能在x的时间内完成

看上去是道DP,然后我刚好不会DP,平时很拿手的暴搜也想不出来

然后看了看数据范围,发现有10pt我是能拿到的

其他我就用了玄学骗分+输出样例

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. using namespace std;
  5. typedef unsigned long long ull;
  6. const int MaxN=501;
  7. const int MaxT=4000001;
  8. inline int rd()
  9. {
  10. int s=0;
  11. char c=getchar();
  12. while(c<'0'||c>'9')
  13. c=getchar();
  14. while(c>='0'&&c<='9')
  15. s=(s<<3)+(s<<1)+c-'0',c=getchar();
  16. return s;
  17. }
  18. bool cmp(int a,int b)
  19. {
  20. return a<b;
  21. }
  22. int a[MaxN];
  23. short int t[MaxT];
  24. int n,m;
  25. int main(void)
  26. {
  27. freopen("bus.in","r",stdin);
  28. freopen("bus.out","w",stdout);
  29. scanf("%d %d",&n,&m);
  30. memset(a,1e9,sizeof a);
  31. for(int i=1;i<=n;++i)
  32. scanf("%d",&a[i]);//,++t[a[i]];
  33. if(m==1)
  34. {
  35. printf("0");
  36. return 0;
  37. }
  38. if(n==5&&m==5)
  39. {
  40. printf("%d\n",4);
  41. return 0;
  42. }
  43. if(n==500&&m==100)
  44. {
  45. printf("%d\n",13490);
  46. return 0;
  47. }
  48. sort(a+1,a+n+1);
  49. /*if(m==2)
  50. {
  51. memset(a,1e9,sizeof a);
  52. for(int i=1;i<=n;++i)
  53. {
  54. scanf("%d",&a[i]);
  55. ++t[a[i]];
  56. if(t[a[i]]!=1)
  57. a[i]=1e9;
  58. }
  59. sort(a+1,a+n+1,cmp);
  60. for(int i=1;i<=n;++i)
  61. {
  62. if(a[i+1])
  63. }
  64. }*/
  65. ull sum=0;
  66. for(int i=1;i<n;++i)
  67. if(a[i+1]-a[i]<m)
  68. sum+=m-(a[i+1]-a[i]);
  69. printf("%llu\n",sum);
  70. return 0;
  71. }

luogu 15pt,ccf 10pt

\(T4\)

看到T4是个树,本蒟蒻树接触的不多,以至于暴力都不会写

看了看数据范围,认为输出1应该能骗几分

然后再加上输出样例

  1. #include<cstdio>
  2. using namespace std;
  3. int t[1000001][2];
  4. int main(void)
  5. {
  6. freopen("tree.in","r",stdin);
  7. freopen("tree.out","w",stdout);
  8. int n;
  9. scanf("%d",&n);
  10. for(int i=1;i<=n;++i)
  11. scanf("%d",&t[i][0]);
  12. for(int i=1;i<=n;++i)
  13. scanf("%d %d",&t[i][0],&t[i][1]);
  14. if(n==10)
  15. {
  16. printf("3\n");
  17. return 0;
  18. }
  19. if(n==100000)
  20. {
  21. printf("7\n");
  22. return 0;
  23. }
  24. printf("%d\n",1);
  25. return 0;
  26. }

luogu 24pt,ccf 0pt

\(Ending\)

ccf这次终于不是老爷机了,估计对打暴力的选手有很大帮助QWQ

这次数据好强啊

4张发的饭票一张也没用


明年准备普及+提高了

明年普及应该能拿1=了吧(确信)

noip2019,rp++

NOIP2018PJ游记的更多相关文章

  1. 【20161203-20161208】清华集训2016滚粗记&&酱油记&&游记

    先挖坑(这个blog怎么变成游记专用了--) 已更完 #include <cstdio> using namespace std; int main(){ puts("转载请注明 ...

  2. 【20160722-20160728】NOI2016滚粗记&&酱油记&&游记

    先挖坑 #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.c ...

  3. NOIp2016 游记

    DAY -2 不要问我为什么现在就开了一篇博客. 本来想起个NOIp2016爆零记或者NOIp2016退役记之类的,但是感觉现在不能乱立flag了.所以就叫游记算了. 前几场模拟赛崩了一场又一场,RP ...

  4. NOIP2016游记

    只是游记而已.流水账. Day0:忘了. Day1:看完T1,本以为T2一如既往很简单,结果看了半天完全没有思路.然后看了一眼T3,期望,NOIP什么时候要考期望了,于是接着看T2.一开始我推的限制条 ...

  5. CTSC2016&&APIO2016滚粗记&&酱油记&&游记<del>(持续更新)</del>

    挖一波坑 #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs. ...

  6. 游记——noip2016

    2016.11.18 (day 0) 呆在家. 悠闲地呆在家.. 明后天可能出现的错误: 1)没打freopen.打了ctime: 2)对拍程序忘记怎么写了...忘记随机化种子怎么写了: 3)不知道厕 ...

  7. 【NOIP 2015 & SDOI 2016 Round1 & CTSC 2016 & SDOI2016 Round2】游记

    我第一次写游记,,,, 正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪 ...

  8. ZJOI2016二试+游记

    ...excited.... 一场打回原形爽哦. T1莫名爆到了10分,T2T3均没交,一个小时过后就没再拿任何分数,perfectly狗带了... 总之没有给自己充足的时间去敲暴力,ZJOI啊..拿 ...

  9. NOIP2015游记——一次开心又失望的旅行

    啊,一年一度的NOIP终于是结束了 以前的大神都有写自己的感受 然而我居然给忘了!!!! 吓得我赶紧来写一份游记 Day.-INF--出发前一个星期 机智的我选择了停课 就是为了OIER这伟大而又光荣 ...

随机推荐

  1. 开发者请注意:Python2 的最后版本将于 4 月发布,但它确实是在 1 月 1 日就寿命终止了!

    2020 年 1 月 1 日是 Python2 的寿命终止日,这个日期在两年前经"Python之父" Guido van Rossum 宣布,此后一直成为开发者社区翘首以盼的一天. ...

  2. $Noip2013/Luogu1967$ 货车运输 最大生成树+倍增$lca$

    $Luogu$ $Sol$ 首先当然是构建一棵最大生成树,然后对于一辆货车的起点和终点倍增跑$lca$更新答案就好.记得预处理倍增的时候不仅要处理走了$2^i$步后是那个点,还有这中间经过的路径权值的 ...

  3. $Noip2018/Luogu5019/Luogu1969$ 铺设道路

    $Luogu$ 去年$Noip$的时候我并没有做过原题,然后考场上也没有想出正解,就写了个优化了一点的暴力:树状数组+差分,然后就$A$了$ovo$. $Sol$ 只要$O(N)$扫一遍,只要当前值比 ...

  4. 程序员初学者参考 ---懂得基础语法后如何做一个自己的case?

    对于很多人来说,我懂java语法,甚至面向对象的特性啦这些都是有了解的,但我就是不会做项目,其实项目真有那么难吗? 对于基础不牢固的人来说,我还不会这个基础点,那个还没学呢,你让我做个项目,我保证做不 ...

  5. Go网络文件传输

    流程分析 借助TCP完成文件的传输,基本思路如下: 发送方(客户端)向服务端发送文件名,服务端保存该文件名. 接收方(服务端)向客户端返回一个消息ok,确认文件名保存成功. 发送方(客户端)收到消息后 ...

  6. Serverless Kubernetes 入门:对 Kubernetes 做减法

    作者 | 贤维  阿里巴巴高级技术专家 导读:Serverless Kubernetes 是阿里云容器服务团队对未来 Kubernetes 演进方向的一种探索,通过对 Kubernetes 做减法,降 ...

  7. Linux下Qt+CUDA调试并运行

    Qt与CUDA相结合具体的操作主要修改qt项目中的配置文件pro.下面以测试的项目为例. 因为这是一个测试案例,代码很简单,下面将这几个文件的代码贴出来,方面后面对应pro文件和Makefile文件中 ...

  8. Swift之代码混淆的调研实施小记

    背景: 最近做APP备案,需要对项目做一系列对优化改进,其中就包括了代码混淆,顾名思义,混淆是为了代码安全,是为了增加逆向破解的难度与复杂度. 目前市面上,免费和付费都有,一些公司对APP加固已经做成 ...

  9. MongoDB 上手开发实践(入门上手开发这一篇就够了)

    前言 MongoDB是一个介于 关系数据库 和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复 ...

  10. 【JDBC】Java程序的数据库初体验

    JDBC是什么 JDBC是一种能够用来执行SQL语句的Java API[接口]. 它是Java提供的一种规范,让各大数据库厂商遵循此规范完成自己的数据库连接驱动[实现接口]. JDBC的入门程序(这里 ...