2024.11.12 NOIP模拟 - 模拟赛记录

news/2024/11/14 0:46:00/文章来源:https://www.cnblogs.com/jerrycyx/p/18542170

Preface

一套烂题。

T1 一眼搬的 CF(赛后十秒就找到原题了),只搬 idea 就算了,根本不设置部分分,大样例给的更是一坨(数据范围给的 \(10^{15}\)1 2 10 72 121 算什么大样例?),甚至最后的题解都是直接复制的洛谷。

T2 稍好,除了实数运算稍微恶心一点,其它都没什么。

T3 又是一大坨,不给 SPJ 都无所谓(虽然我严重怀疑它的 SPJ 有问题),但是题解上说测试点 \(1,2\)“随便暴力”是什么鬼?暴力的时间复杂度只与 \(m\) 有关,\(n \le 5\) 的数据更是不伦不类,虽然这两个点的 \(m\) 确实都很小,但是题面上压根没提。这道题的第 \(5\) 个测试点更是部分分 std 都过不去(一共就三行代码能怎么错?);第 \(2,4\) 个点也莫名其妙地能够把纯暴力卡 WA,这套数据大概率不是 SPJ 写错了,就是数据生成器有问题。

T4 也爽,题面直接是错的。原题面是这样的:

image

一到题解上,欸,它就变成这样啦:

image

而后面的一条数据范围是解题所必须的,连这都能牛头不对马嘴,我也无话可说。


吐槽完毕,进入正题。

基于1的算术(add

这是 Codeforces 上的原题(440C)。虽说大样例依托答辩,但是我用数学方法写了一遍以后也太自信了一点,在不确定算法正确性的前提下随便测了几组 Hack 没发现错误以后就直接换题了。

以后遇到这样不确定正确性的算法,一定要打暴力对拍一下,尤其是在 T1 挂的分是承受不起的。

一定要打暴力和对拍,这花不了你多长时间。——洛谷某用户

比如这次直接挂 \(50\) 分,\(225 \rightarrow 175\),爽飞。

赛后补题参照这篇题解,后面可能我自己也会写一篇题解。

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;LL n;
LL zero[20],one[20];
void Prework()
{zero[1]=one[1]=1;for(int i=2;i<=16;i++){zero[i]=zero[i-1]*10;one[i]=one[i-1]*10+1;}return;
}
int ans=0x3f3f3f3f;
void DFS(LL x,int pos,int now)
{if(now>ans) return;if(x==0){ans=min(ans,now);return;}if(x<0) x=-x;if(x/zero[pos]==0){DFS(x,pos-1,now);return;}LL r1=x; int add1=0;while(r1>=zero[pos]){r1-=one[pos];add1+=pos;}DFS(r1,pos-1,now+add1);LL r2=one[pos+1]-x; int add2=pos+1;while(r2>=zero[pos]){r2-=one[pos];add2+=pos;}DFS(r2,pos-1,now+add2);return;
}int main()
{freopen("add.in","r",stdin);freopen("add.out","w",stdout);scanf("%lld",&n);Prework();DFS(n,15,0);printf("%d\n",ans);return 0;
}

逃离(car

目测绿的样子(而且不是上位绿),算是结论题。

image

做题时思维没能打开,只想到某辆车离开与前一辆车有关,而没想到一路推过去,前一辆车又与更前面的车相关,进而某一辆车是否能离开与前面所有车都有关。

但是有了这个结论还不够,还要想到把这个结论反过来:当前车会影响后面所有车,只有当到达某个位置的时候才不会影响后面车的离开。

最后优先队列处理最大值什么的就都很好想了。

const int N=3e5+5,M=3e5+5;
int n,t,m,k;
struct Rain{long long l,r,v;
}car[N];#define PDI pair<double,int>
priority_queue<PDI> pq;
long long sum[N];bool cmp(Rain x,Rain y){return x.l<y.l;}
int main()
{freopen("car.in","r",stdin);freopen("car.out","w",stdout);read(n),read(t),read(m),read(k);bool is_d23=true;for(int i=1;i<=n;i++){read(car[i].l),read(car[i].r),read(car[i].v);if(car[i].v!=car[1].v) is_d23=false;}sort(car+1,car+n+1,cmp);for(int i=1;i<=n;i++){sum[i]=sum[i-1]+car[i].r-car[i].l;double need_ti=1.0*(sum[i-1]+t-car[i].l)/car[i].v;pq.push({need_ti,i});}for(int i=1;i<=m;i++){PDI x=pq.top(); pq.pop();int p=x.second;car[p].v+=k;double need_ti=1.0*(sum[p-1]+t-car[p].l)/car[p].v;pq.push({need_ti,p});}printf("%.3lf\n",pq.top().first);return 0;
}

南斯拉夫(yugo

恶心,等先把 SPJ 错误的问题解决了再说吧。

数数(count

好家伙,数据范围都标错了,如果数据范围是对的的话其实还蛮简单的(可惜它没对),难度绿左右,主要就是考了一点数学能力。

这种题的经典套路就是要将式子左右两边转化成各只有一个变量,本题中最重要的两步就是设 \(x=a_i+1\) 和左右两边同时乘以 \((x+y)\),而后面的那一步因为数据范围错误导致无法保证 \(x+y \neq p\) 而无法进行。

另外三次方差因式分解公式也需要牢记:\(x^3 \pm y^3 = (x \pm y)(x^2 \mp xy +y^2)\)

官方题解:

image

const int N=5e5+5;
int n,p;
__int128 a[N];
map<__int128,int> mpx,mpy;#define cube(x) ((x)*(x)*(x)%p)
#define sqr(x) ((x)*(x)%p)
#define mod(x) (((x)%p+p)%p)
int main()
{freopen("count.in","r",stdin);freopen("count.out","w",stdout);read(n),read(p);long long ans=0;for(int i=1;i<=n;i++){read(a[i]);__int128 x=mod(cube(a[i]+1)-sqr(a[i]+1));__int128 y=mod(-cube(a[i])-sqr(a[i]));ans+=mpy[x]; mpy[y]++;ans+=mpx[y]; mpx[x]++;}write(ans,'\n');return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/832352.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据采集与融合技术作业四

目录作业①实验要求及结果心得体会作业②实验要求及结果心得体会作业③实验要求及结果心得体会码云连接作业① 实验要求及结果要求 熟练掌握 Selenium 查找HTML元素、爬取Ajax网页数据、等待HTML元素等内容。 使用Selenium框架+ MySQL数据库存储技术路线爬取“沪深A股”、“上证…

[转贴]在前端如何玩转 Word 文档

在日常工作中,大部分人都会使用 Microsoft Office Word、WPS 或 macOS Pages 等文字处理程序进行 Word 文档处理。除了使用上述的文字处理程序之外,对于 Word 文档来说,还有其他的处理方式么?答案是有的。 接下来阿宝哥将介绍在前端如何玩转 Word 文档,阅读本文之后,你将…

AI之旅:起步即迈出重要一步,博客园与 Chat2DB 达成战略合作

在技术变革的路上,我们不会孤单。我们与博客园的合作,只是一个开始。未来,更多的技术人将加入这场旅程,共同书写AI时代的开发者新篇章。我们希望,这条路上的每一个人,都能够在智能工具与温暖社区的双重支持下,走得更远、飞得更高AI之旅开篇之后的第一篇本准备写一篇简单…

深入理解MySQL索引的底层原理和优化

深入理解MySQL索引的底层原理和优化 1. 什么是索引 索引是帮助MySQL高效获取数据的排好序的数据结构。用于提高查询性能,相当于书的目录。比如我们在读一本书的时候,首先是通过目录来定位到文章的页码,然后通过页码再来快速定位到具体的内容。MySQL中也是一样,在查询数据的…

攻防世界-mfc逆向

文件被加了vmp,静态分析难度很大运行程序 发现是mfc框架程序,根据提示应该在控件里去找,可以用xspy进行分析 发现窗口句柄中有一串密文944c8d100f82f0c18b682f63e4dbaa207a2f1e72581c2f1b,并且发现一条特殊的onMsgOnMsg:0464,func= 0x00402170(MFC1.exe+ 0x002170 ),它并不…

Lec 07 操作系统管理页表映射

lec 07 操作系统管理页表映射 0 Contents1 操作系统设置页表映射何时设置页表映射?操作系统自己使用的页表 -- 在启动时填写 -- 映射全部物理内存虚拟地址 = 物理地址 + 固定偏移(直接映射,Direct Mapping) 思考:为什么需要直接映射?应用进程的页表 -- 何时设置?2 立即映…

System.Data.SqlClient is not supported on this platform.

异常: 程序在修改了非数据库相关的代码后发布进行部分覆盖,抛出异常,本次并未覆盖数据库相关的dll 查询解决方案都给出的是,将本地的Microsoft.Data.SqlClient.dll拷贝到发布处覆盖,这种方式不行 本次原因: 之前发布是目标运行时选的“可移植”,部署地方还是保持可移植…

数据采集实验四

作业一 (1)实验内容要求熟练掌握 Selenium 查找 HTML 元素、爬取 Ajax 网页数据、等待 HTML 元素等内容。 使用 Selenium 框架+ MySQL 数据库存储技术路线爬取“沪深 A 股”、“上证 A 股”、“深证 A 股”3 个板块的股票数据信息。候选网站东方财富网输出信息MYSQL 数据库存…

【题解】洛谷P8346:最澄澈的空与海

题解:二分图性质。【题解】洛谷P8346:最澄澈的空与海 猜结论题,本身其实很简单,在纸上画个差不多就能想出来,我一开始想二分图最大匹配,但是还是太大了,不可以。 当一个二分图有且仅有一种解时,必定有节点的入度为 \(1\)。 我们想到有多种匹配的情况,可以想到如果这是…

过路车辆识别智慧矿山一体机罐笼乘坐人员超限识别煤矿安全监控系统升级改造技术方案

在当今煤炭行业的发展中,安全和效率是两个核心议题。随着技术的进步,智慧矿山的概念应运而生,它代表着煤炭行业向智能化、自动化的转型。智慧矿山一体机煤矿安全监控系统的升级改造技术方案,正是在这样的行业需求背景下提出的。这一方案旨在通过集成先进的信息技术,如物联…

birdwatcher安装使用

1.官网下载二进制版本的安装包,解压到相应目录即可运行https://github.com/milvus-io/birdwatcher 2.尝试使用birdwatcher链接注意单机部署的milvus默认是没有暴露etcd端口的,需要修改配置重新部署[root@localhost birdwatcher]# ./birdwatcherOffline > connect --etcd 1…