NOIP2024模拟赛7:纯粹当下

今日挂分:95pts......

T2

  • \(T\) 组数据, 每组给定 \(n,k,f,a_i\), 一个序列 \(b\) 满足 \(b_i \in [a_i-k,a_i]\), 记 \(g\) 表示至多删去序列中 \(f\) 个数后, 使得剩余所有数的 \(\gcd\), 求 \(g\) 的集合并输出.
  • 标签:转化,调和级数,前缀和.
  • 其实也有点儿 逆向思维 的感觉...
  • 直接枚举 \(g\), 考虑 b 的集合就是 \({b \ | \ b=c\times}g,c \in \N^+\)
  • 那么就反过来检测有多少个不合法的 \(a_i\)
  • 反过来, \(a_i\) 的 范围就变成了 \([c\times g,c\times g+k],c \in \N^+\)
  • 此范围以外的 \(a_i\) 都是不合法的,要求其个数不超过 \(f\).
  • 关于个数的统计,开个桶做个前缀和即可.
  • 时间复杂度: \(O(n\ln_n)\)
  • 总结一下: 其思维的逆向在于:本来 \(b_i\) 的取值是不定的,但由于 \(gcd\) 的条件因此反而需要 \(a_i\) 的取值来 "配合" \(b_i\) 的取值.
#include<bits/stdc++.h>
#define F(i,l,r) for(int i(l);i<=r;++i)
#define G(i,r,l) for(int i(r);i>=l;--i)
using namespace std;
using ll = long long;
char buf[100],*p1=buf,*p2=buf,obuf[10000000],*o=obuf;
inline int gc(){return (p1==p2)&&(p2=(p1=buf)+fread(buf,1,100,stdin),p1==p2)?EOF:*p1++;}
inline int rd(){
int x=0; char ch;
while(!isdigit(ch=gc()));
do x=(x<<3)+(x<<1)+(ch^48); while(isdigit(ch=gc()));
return x;
}
inline void write(int x){
if(x>9) write(x/10);
*o++=(x%10+48);
}
const int N=2e6+5;
int n,k,f,T,mx=0,cnt=0;
int sum[N];
signed main(){
// freopen("tsuki.in","r",stdin);
// freopen("tsuki.out","w",stdout);
T=rd(); while(T--){
n=rd(),k=rd(),f=rd();
mx=0;
memset(sum,0,sizeof(sum));
F(i,1,n){
int x=rd();
sum[x]++;
mx=max(mx,x);
}
F(i,1,mx) sum[i]+=sum[i-1];
write(1); *o++=' ';
F(g,2,mx){
cnt=sum[g-1];
for(int i=g;i<=mx && i+k<mx;i+=g){
int l=i+k+1,r=min(mx,i+g-1);
if(l<=r) cnt+=sum[r]-sum[l-1];
}
if(cnt<=f) write(g),*o++=' ';
}
*o++='\n';
}
fwrite(obuf,o-obuf,1,stdout);
return fclose(stdin),fclose(stdout),fflush(0),0;
}

NOIP2024模拟赛7:纯粹当下的更多相关文章

  1. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  2. NOI模拟赛 Day1

    [考完试不想说话系列] 他们都会做呢QAQ 我毛线也不会呢QAQ 悲伤ING 考试问题: 1.感觉不是很清醒,有点困╯﹏╰ 2.为啥总不按照计划来!!! 3.脑洞在哪里 4.把模拟赛当作真正的比赛,紧 ...

  3. NOIP第7场模拟赛题解

    NOIP模拟赛第7场题解: 题解见:http://www.cqoi.net:2012/JudgeOnline/problemset.php?page=13 题号为2221-2224. 1.car 边界 ...

  4. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  5. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  6. 小奇模拟赛9.13 by hzwer

    2015年9月13日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿(explo) [题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值w)的飞船,按既定路线依次飞 ...

  7. PKUSC 模拟赛 day1 下午总结

    下午到了机房之后又困又饿,还要被强行摁着看英文题,简直差评 第一题是NOIP模拟赛的原题,随便模拟就好啦 本人模拟功力太渣不小心打错了个变量,居然调了40多分钟QAQ #include<cstd ...

  8. [GRYZ]寒假模拟赛

    写在前面 这是首次广饶一中的OIERS自编自导,自出自做(zuo)的模拟赛. 鉴于水平气压比较低,机(wei)智(suo)的WMY/XYD/HYXZC就上网FQ下海找了不少水(fei)题,经过他们优( ...

  9. BZOJ2741: 【FOTILE模拟赛】L

    2741: [FOTILE模拟赛]L Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 1170  Solved: 303[Submit][Status] ...

  10. 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程

    数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...

随机推荐

  1. [考试记录] 2024.8.10 csp-s 模拟赛18

    80 + 20 + 0 + 70 = 170 第三题应该有 10 分暴力的,但我没打. T1 星际旅行 题面翻译 总共有n个节点,m条路径,要求其中m-2条路径走两遍,剩下2条路径仅走一遍,问不同的路 ...

  2. wpf 如何7步写一个badge控件

    首先看一下效果: 任意控件可以附加一个文字在控件的右上角,并带有红色背景 第一步,新建一个空的wpf项目: 第二步,创建一个类,取名为badge: 第三步,将badge的父类设置成  System.W ...

  3. MFC制作带界面的DLL库

    ## MFC如何创建一个带界面的DLL(动态链接库) 1.创建项目 打开VS,文件->新建->项目: 点击确定之后弹出来的界面,点击下一步->选择"使用共享MFC DLL的 ...

  4. 使用Django-Channels实现websocket通信+大模型对话

    前言 最近一直在做这个大模型项目,我选了 Django 作为框架(现在很多大模型应用都用的 FastAPI,不过我已经用习惯 Django 了) 之前使用 AspNetCore 作为后端的时候,我先后 ...

  5. zabbix 4.0 监控 mysql

    zabbix官方支持监控MySQL,但直接使用默认的模板是不可用的,需要经过额外的设置才可以使用.如果只需要对mysql数据库做简单的监控,zabbix自带的模板完全能够满足要求 下面是用zabbix ...

  6. 使用 Nuxt 的 showError 显示全屏错误页面

    title: 使用 Nuxt 的 showError 显示全屏错误页面 date: 2024/8/26 updated: 2024/8/26 author: cmdragon excerpt: 摘要: ...

  7. Element-UI 中使用rules验证

    第一种:写在data中进行验证 <el-form>:代表这是一个表单 <el-form> -> ref:表单被引用时的名称,标识 <el-form> -> ...

  8. docker context 介绍

    $ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default Current DOCKER_HOST based configu ...

  9. 使用 Microsoft.Extensions.ServiceDiscovery 进行服务发现并调用

    简介 在现代微服务架构中,服务发现(Service Discovery)是一项关键功能.它允许微服务动态地找到彼此,而无需依赖硬编码的地址.以前如果你搜 .NET Service Discovery, ...

  10. Asp.net core 学习笔记 Secret 和 Data Protect Azure key-vault & Storage Account 第 2 篇

    更新 30-04-2023 最新版本请看这 2 篇 ASP.NET Core – User Secret & Azure Key Vault 之前有写过 2 篇关于 key-vault 和 d ...