当前位置: 首页 > news >正文

2025国庆Day2

模拟赛

T1

简单题

离散化+差分即可

或者直接贪心

对可能成为答案的点计算删的区间并取min

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iomanip>
#include<bits/stdc++.h>
#define int long long
#define jiaa(a,b) {a+=b;if(a>=MOD) a-=MOD;}
#define jian(a,b) {a-=b;if(a<0) a+=MOD;}
using namespace std;
int ksm(int a,int b,int p){if(b==0) return 1;if(b==1) return a%p;int c=ksm(a,b/2,p);c=c*c%p;if(b%2==1) c=c*a%p;return c%p;	
}
inline int read()
{int x=0,f=1;char ch=getchar();while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}return x*f;
}
int L[200005],R[200005],cnt,cn;
double p[800005],an[400005];
signed main()
{freopen("interval.in", "r", stdin);freopen("interval.out", "w", stdout);int T=read();while(T--){int n=read();cn=0;for(int i=1;i<=n;i++){L[i]=read();R[i]=read();an[++cn]=L[i];an[++cn]=R[i];}if(n<=1){cout<<-1<<'\n';continue;}sort(L+1,L+n+1);sort(R+1,R+n+1);sort(an+1,an+cn+1);cnt=0;for(int i=1;i<=cn;i++){p[++cnt]=1.0*an[i];if(i<cn) p[++cnt]=(an[i]+an[i+1])/2.0;}int minn=n;for(int i=1;i<=cnt;i++){int rsu=lower_bound(R+1,R+n+1,p[i])-R-1;int lsu=n-(upper_bound(L+1,L+n+1,p[i])-L-1);if(rsu&&lsu){minn=min(minn,n-rsu-lsu);}}if(minn>=n) cout<<-1<<'\n';else cout<<minn<<'\n';}return 0;
}

T2

猜结论

容易发现一开始答案为2^(n+m-1)

因为只要第一行第一列填满,剩余就全部确定了

具体的,a[i,j]=a[1,1]a[1,j]a[i,1]

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iomanip>
#include<bits/stdc++.h>
#define int long long
#define jiaa(a,b) {a+=b;if(a>=MOD) a-=MOD;}
#define jian(a,b) {a-=b;if(a<0) a+=MOD;}
using namespace std;
int ksm(int a,int b,int p){if(b==0) return 1;if(b==1) return a%p;int c=ksm(a,b/2,p);c=c*c%p;if(b%2==1) c=c*a%p;return c%p;	
}
inline int read()
{int x=0,f=1;char ch=getchar();while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}return x*f;
}
const int MOD=1e9+7;
int ans,n,m,q,sec[600005];
int fa[600005],val[600005];
int find(int x){if(fa[x]==x) return x;int ff=find(fa[x]);val[x]^=val[fa[x]];fa[x]=ff;return ff;
}
int merge(int x,int y,int c){int fx=find(x);int fy=find(y);if(fx==fy){if((val[x]^val[y])!=c) return 2;else return 1;} fa[fx]=fy;val[fx]=val[y]^val[x]^c;return 0;
}
signed main()
{freopen("color.in", "r", stdin);freopen("color.out", "w", stdout);n=read(),m=read(),q=read();sec[0]=1;for(int i=1;i<=n+m;i++) sec[i]=sec[i-1]*2%MOD;ans=n+m-1;cout<<sec[ans]<<'\n';for(int i=1;i<=n+m;i++) fa[i]=i;while(q--){int x=read(),y=read(),c=read();int zh=merge(x,y+n,c);if(zh==2) ans=-1;else if(!zh){if(ans!=-1) ans--;} if(ans==-1) cout<<0<<'\n';else cout<<sec[ans]<<'\n';}return 0;
}

T3

T4

http://www.zskr.cn/news/15215.html

相关文章:

  • vue - 实战3 - 后端
  • P11983 [JOIST 2025] 展览会 3 题解
  • 黑客马拉松(Hackathon)
  • 推荐系统中损失函数梳理:从Pointwise到Listwise
  • how to download a websites favicon.ico
  • JQuery CDN recommended
  • 2025 年地坪研磨机公司推荐榜单:盘点 TOP 品牌的格力,宁德时代等标杆客户合作案例
  • istio 部署 - 指南
  • 实用指南:k8s中的schedule
  • 【光照】[PBR][环境光]实现方法解析
  • 树莓派搭建NAS之五:数据同步
  • 深入解析:Coze源码分析-资源库-编辑插件-后端源码-安全与错误处理
  • 详细介绍:【读书笔记】《C陷阱与缺陷》第4章:连接问题解析 | 避开多文件编译的坑
  • 质数表
  • 2025波形护栏厂家 TOP 企业品牌推荐排行榜,山东波形护栏防撞,三波,二波,双波,喷塑,公路,热浸锌,浸塑,镀锌波形护栏公司推荐!
  • US$458 Car Key Clamp SN-CP-JJ-01 for SEC-E9 CNC Automated Key Cutting Machine
  • 好数
  • 2025防火皮革厂家TOP企业品牌推荐排行榜,B1级防火皮革,建筑防火皮革,审讯室防火皮革,邮轮级防火皮革,软包防火皮革公司推荐
  • MySQL 全量 + 增量备份脚本(RPM 安装)实践与疑问解析
  • 2025磁选机厂家TOP企业品牌推荐排行榜,立环磁选机,高梯度磁选机,立环高梯度磁选机,油冷立环磁选机公司推荐
  • 2025最新编织袋生产厂家推荐排行榜:涵盖牛皮纸、塑料、PP 彩膜等品类,助力企业精准甄选可靠合作伙伴
  • 详细介绍:鸿蒙与iOS跨平台开发方案全解析
  • US$58 HU162T Clamp Work on VW SN-CP-JJ-16 Work with SEC-E9 Key Cutting Machine
  • 完整教程:Linux中安装es
  • 251003
  • 学习项目movie-web:构建本地电影、电视视频中心 - 教程
  • AT_abc205_e [ABC205E] White and Black Balls
  • Rust Slint库达成桌面萌宠源码分享(包含拖动、右键菜单效果)
  • Redis 持久化机制 - 教程
  • glazewm_windows平铺窗口管理器使用方法