【2003、2004 NOIp 入门组错题报告】
2003:
T4:
题目大意:
讲这么多话,其实就是求比当前序列大的序列中第m小的一个。可以每次找出比当前序列大的最小的一个序列。我们可以从后往前扫描,当当前这个数比后一个数小时,我们把它与它后面的数中比它大的最小的一个交换,再将它之后的数从小到大排序,
就得到比当前序列大的最小的一个序列了
列: 1 2 3 6 8 7 5 4这个序列,找比它大的最小的序列,我们从后往前扫描,扫到6时发它比它后面一个数8小,我们就将它与它后面比它大的最小的一个数交换,为7,交换后序列为1 2 3 7 8 6 5 4,再将7后的数从小到大排序,变成1 2 3 7 4 5 6 8.
这就是比1 2 3 6 8 7 5 4大的最小的一个序列了。
错题原因:
就拿1 2 3 6 8 7 5 4来说,我只把6加了1,再把它后面最小的数减了1,没考虑后面最小的数可能有比它大2或更多的数;
AC代码:
#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std; const int N=; int n,m;
int a[N]; int main()
{
scanf("%d%d",&n,&m); for(int i=;i<=n;i++) scanf("%d",&a[i]); while(m--)
{
int i=n;
while(a[i-]>a[i]) i--;
i--; int j=i;
while(j+<=n&&a[j+]>a[i]) j++;
swap(a[i],a[j]); reverse(a+i+,a++n);
} for(int i=;i<=n;i++)
{
printf("%d ",a[i]);
}
}
2004:
T1:
题目大意:
根据输入计分。
错题原因:
它要按照标准比赛要求,必须一方分数大于指定分数,两人的分差还得≥2 。你题目又不说,害我只得五十分(╬ ̄皿 ̄) 。
T4:
题目大意:
求 2^p-1 的后500位和它的位数。
错题原因:
位数可以直接用 p㏒102 下取整 +1 求,然而我直接数,超时了。(什么log玄学,不知道!)
AC代码:
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
using namespace std; const int N=; int len_a;
int res[N],a[N];
int c[N]; void mul(int a[],int b[])
{
memset(c,,sizeof(c));
for(int i=;i<=;i++)
{
int t=;
for(int j=;j<=;j++)
{ int k=i+j-;
c[k]+=a[i]*b[j]+t;
t=c[k]/;
c[k]%=; } } for(int i=;i<=;i++) a[i]=c[i]; } void qmi(int k)
{
res[]=;
a[]=; while(k)
{ if(k&) mul(res,a);
mul(a,a);
k>>=;
} res[]--;
printf("%d\n",len_a);
for(int i=,j=;i;i--,j++)
{
if(len_a<i) printf("");
else printf("%d",res[i]);
if(j==) puts(""),j=;
}
} int main()
{
int n;
scanf("%d",&n);
len_a=(int)(n*log10())+;
qmi(n); }
【2003、2004 NOIp 入门组错题报告】的更多相关文章
- 纪中10日T1 2300. 【noip普及组第一题】模板题
2300. [noip普及组第一题]模板题 (File IO): input:template.in output:template.out 时间限制: 1000 ms 空间限制: 262144 K ...
- $NOIp$普及组做题记录
\([NOIp2014]\) 螺旋矩阵 \(Sol\) 直接模拟,一次走一整行或者一整列.复杂度\(O(n)\). \(Code\) #include<bits/stdc++.h> #de ...
- $NOIp$提高组做题记录
对了我在这里必须讲一个非常重要的事情,就是前天也就是$2019.8.21$的傍晚,我决定重新做人了$!!$ 其实之前没怎么做$Noip$题,那就从现在开始叭
- 排座椅 2008 NOIP 普及组 第二题
题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳.同学 ...
- 2003年NOIP普及组复赛题解
题目涉及算法: 乒乓球:简单字符串模拟: 数字游戏:区间DP: 栈:卡特兰数 麦森数:高精度.快速幂.数学. 乒乓球 题目链接:https://www.luogu.org/problem/P1042 ...
- 0025:2011年NOIp普及组真题——瑞士轮题解
题目链接:https://www.luogu.com.cn/problem/P1309 如果是新手可能马上会想到sort排序,每比一次就排一次,但是这样的时间复杂度有点高,只有60分: 这是因为每次比 ...
- NOIP提高组2004 合并果子题解
NOIP提高组2004 合并果子题解 描述:在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消 ...
- 津津的储蓄计划 NOIp提高组2004
这个题目当年困扰了我许久,现在来反思一下 本文为博客园ShyButHandsome的原创作品,转载请注明出处 右边有目录,方便快速浏览 题目描述 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津\ ...
- NOIp2014提高组初赛错题简析
总体分析 \(89pts\),粗略来看选择题错的比较多,\(-6pts\).同时又是尿性的填空杀扣了\(5pts\). 不过后面的两大题全对了还是可喜可贺 错题精析 单项选择T8 编译器的主要功能是( ...
随机推荐
- Python 爬虫之request+beautifulsoup+mysql
一.什么是爬虫?它是指向网站发起请求,获取资源后分析并提取有用数据的程序:爬虫的步骤: 1.发起请求使用http库向目标站点发起请求,即发送一个RequestRequest包含:请求头.请求体等 2. ...
- mysql基础-数据库表的管理-记录(四)
0x01 MySQL中字符大小写 1.SQL关键字及函数不区分大小写 2.数据库.表及视图名称的大小写区分与否取决于底层OS及FS 3.存储过程.存储函数及事件调度器的名字不区分大小写,但触发器区分大 ...
- 温故知新-java的I/O模型-BIO&NIO&AIO
文章目录 摘要 传统的BIO编程 伪异步I/O编程 NIO编程 AIO编程 几种IO模型的对比 netty 参考 你的鼓励也是我创作的动力 Posted by 微博@Yangsc_o 原创文章,版权声 ...
- WPF样式学习第一天
因为上班的公司要我用wpf写软件,刚毕业出来,学校也没教过wpf,只会winform,再加上wpf用winform的框架写法也能实现很多需求,但是就不能体现wpf的优点了,今天就先来学wpf的样式,因 ...
- springmvc无法进入controller,且报错404
今天搭建一个springmvc项目时,前台一直报错404,在controller中调试发现程序没有进入controller. 通过多次刷新前台页面,发现第一次进入是会弹出错误提示,第二次之后就直接40 ...
- MYSQL SQL 语句修改字段默认值
alter table tablename alter column drop default; (若本身存在默认值,则先删除) alter table tablename alter column ...
- Win10下Tensorflow的安装
Win10下Tensorflow的安装 1. Tensorflow简介 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张 ...
- LR脚本信息函数-lr_get_host_name
lr_get_host_name() 返回主机的名称. char * lr_get_host_name(); lr_get_host_name函数返回执行脚本的机器的名称. 示例:lr_get_hos ...
- python批量发邮件
如果有一天,老板过来给你一个很大的邮箱列表,要你给每个人发邮件,你该如何去做,最简单的就是写一个 python 程序 # coding:utf-8import smtplibfrom email.mi ...
- 这一次搞懂Spring的XML解析原理
前言 Spring已经是我们Java Web开发必不可少的一个框架,其大大简化了我们的开发,提高了开发者的效率.同时,其源码对于开发者来说也是宝藏,从中我们可以学习到非常优秀的设计思想以及优雅的命名规 ...