2025 --【J+S 二十连测】-- 第一套 总结

总结

T1

考场上很快写出了正解,没有问题

T2

考场上很快写出了正解,但提交时交了两边,故0分

T3

考场上很快写出了正解,没有问题

T4

考场上很快写出了部分分,拿满了,没有问题

题解

T1

照题意模拟即可

代码

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f3f3f3f3f
#define int long long
#define endl '\n'
using namespace std;
const int maxn=2e5+5;
string f(string s,int x)
{int n=s.size()-1;int d=(s[x]>='5');for(int i=x;i<=n;i++) s[i]='0';for(int i=x-1;i>1;i--){int ns=s[i]-'0'+d;if(ns<=9) d=0,s[i]=ns+'0';else d=1,s[i]=ns-10+'0';}if(d==1&&s[1]=='9') s.insert(1,"1"),s[2]='0';else if(d==1) s[1]=s[1]+1;return s;
}
signed main()
{freopen("Number.in","r",stdin);freopen("Number.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int t;cin>>t;while(t--){int n;cin>>n;string s;cin>>s;cout<<s;s=' '+s;int fds=1;for(int i=n;i>fds;i--){s=f(s,i);if(s.size()>n+1&&fds==1) fds=2,i++;cout<<" ->"<<s;}cout<<endl;}return 0;
}

T2

因为是纵切,所以看其对称区域是否有即可

多测不清空,亲人两行泪

代码

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f3f3f3f3f
#define int long long
#define endl '\n'
using namespace std;
const int maxn=2e5+5;
map<pair<int,int>,int> mp;
signed main()
{freopen("Color.in","r",stdin);freopen("Color.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int t;cin>>t;while(t--){mp.clear();int n,m,k;cin>>k>>n>>m;for(int i=1;i<=k;i++){int tmp;cin>>tmp;int x=(tmp+m-1)/m,y=tmp-m*(x-1);mp[{x,y}]=1;}int f=1;for(auto x:mp){pair<int,int> y=x.first;y.second=m-y.second+1;if(mp.find(y)==mp.end()){f=0;break;}}if(f) cout<<"Yes"<<endl;else cout<<"No"<<endl;}return 0;
}

T3

如果将题目弱化成模板LIS,大家一定会做

其实对于本题是一个道理,只是更新时要新开一个临时数组即可

要用二分法,因为总量为 \(10^6\) 的量级

代码

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f3f3f3f3f
#define int long long
#define endl '\n'
using namespace std;
const int maxn=5e3+5;
int dp[maxn],a[maxn][maxn],now[maxn];
signed main()
{freopen("yet.in","r",stdin);freopen("yet.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int n,m,ans=0;cin>>m>>n;for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j];for(int i=1;i<=n;i++) dp[i]=-1;for(int i=1;i<=n;i++){int f=0;for(int j=1;j<=n;j++) now[j]=inf;for(int j=1;j<=m;j++){if(dp[ans]<a[i][j]) f=1,dp[ans+1]=now[ans+1]=min(now[ans+1],a[i][j]);else{int p=lower_bound(dp+1,dp+1+ans,a[i][j])-dp;now[p]=min(now[p],a[i][j]);}}if(f) ans++;for(int j=1;j<=ans;j++) dp[j]=min(dp[j],now[j]);}cout<<ans;return 0;
}

T4

由于是第 \(k\) 大,而求第 \(k\) 大其实只有两种:

  • 枚举
  • 二分

显然这道题是二分,因为 \(k\) 太大了

那么对于二分答案,必然二分“答案”(v),即求有多少个数对 \((i,j),1\le i\le j\le n\),满足 \(\frac{x_i\times y_i+x_j\times y_j}{x_i+ x_j}\ge v\)

那么将原式变一下,即:

\[\frac{x_i\times y_i+x_j\times y_j}{x_i+ x_j}\ge \frac{v}{1} \]

利用交叉相乘得

\[x_i\times y_i+x_j\times y_j\ge (x_i+ x_j)\times v \]

利用乘法分配律得:

\[x_i\times y_i+x_j\times y_j\ge x_i\times v+x_j\times v \]

再移个项:

\[x_i\times y_i-x_i\times v\ge x_j\times v-x_j\times y_j \]

那么直接对比即可

代码

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f3f3f3f3f
#define int long long
#define endl '\n'
#define exp 1e-3
using namespace std;
const int maxn=2e5+5;
int a[maxn],c[maxn],n,k;
double p[maxn],q[maxn];
bool check(double t)
{int j=0,ans=0;for(int i=1;i<=n;i++){double x=a[i]*1.0*c[i],y=t*a[i]; p[i]=x-y;q[i]=y-x; if(q[i]-p[i]<exp) ans--;}sort(p+1,p+n+1);sort(q+1,q+n+1);for(int i=1;i<=n;i++){while((q[j+1]-p[i])<exp&&j+1<=n) j++;ans+=j;}return (ans/2<k);
}
signed main()
{freopen("Function.in","r",stdin);freopen("Function.out","w",stdout);cin>>n>>k;for(int i=1;i<=n;i++) cin>>a[i]>>c[i];double l=0,r=1e18,mid;while((r-l)>exp){double mid=(l+r)/2;if(check(mid)) r=mid;else l=mid;}printf("%.3lf",l);return 0;
}

T5

有一个道理:断开一个点和去掉以这个点为根的子树是差不多的

有一个发现:\(0\le a_i\le 2\)!

有一个观察:如果去掉一个叶子,那么原树不会断开

有一个公理:如果有一棵大小大于2的数,叶子节点移动大于2

合起来就会发现:我每次通过若干去掉叶子移动能使原树的权值和减0或2

那么我直接判奇偶性,若当前子树大于k且奇偶性相同,则答案加一并断开即可

代码

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f3f3f3f3f
#define int long long
#define endl '\n'
using namespace std;
const int maxn=1e6+5;
vector<int> g[maxn];
int dp[maxn][2],ans,n,k,a[maxn];
void dfs(int x,int fa)
{dp[x][0]=-inf;dp[x][1]=-inf;dp[x][a[x]%2]=a[x];for(auto to:g[x]){if(fa==to) continue;dfs(to,x);int s[2]={};s[0]=max(dp[x][0]+dp[to][0],dp[x][1]+dp[to][1]);s[1]=max(dp[x][1]+dp[to][0],dp[to][1]+dp[x][0]);dp[x][0]=s[0],dp[x][1]=s[1];}if(dp[x][k%2]>=k){ans++;dp[x][0]=0;dp[x][1]=-inf;}dp[x][0]=max(dp[x][0],0ll);
}
signed main()
{freopen("tree.in","r",stdin);freopen("tree.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int t;cin>>t;while(t--){cin>>n>>k;for(int i=1;i<=n;i++) cin>>a[i],g[i].clear();for(int i=1;i<n;i++){int u,v;cin>>u>>v;g[u].push_back(v);g[v].push_back(u);}ans=0;dfs(1,-1);cout<<ans<<endl;}return 0;
}

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

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

相关文章

详细介绍:分布式缓存的正确姿势:Cache-Aside、更新策略与分布式锁在 Java 微服务中的实战

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

企业网站建设的文章太原市做网站

AI的归纳和演绎法分别是什么&#xff1f; AI的归纳和演绎法是两种常见的推理方法。 归纳法&#xff08;inductive reasoning&#xff09;是一种从特殊到一般的过程&#xff0c;在有限的实例观察中得出一般规律或原则。用简单的说法&#xff0c;就是从一些具体的事物或情况中总…

做网站大彩票网站开发搭建

《绝地求生》PCL秋季赛的战斗已经全部落下帷幕了&#xff0c;Team Razer 雷蛇战队成员&#xff0c;国内最具人气的4AM战队凭借着在季后赛的出色发挥&#xff0c;以316分的高分碾压全场&#xff0c;成功斩获本次PCL秋季赛的冠军&#xff0c;成为PCL联赛首个双冠队伍。随着金色的…

个人网站建设服务器aaa云主机怎么做网站

1、基本操作 1.1、进入HBase客户端命令行 前提是先启动hadoop集群和zookeeper集群。 bin/hbase shell 1.2、查看帮助命令 helphelp 查看指定命令的语法规则 查看 list_namespace 的用法&#xff08;‘记得加单引号’&#xff09; help list_namespace 2、namespace 我们…

信阳市网站建设自己做服装搭配的网站

Docker Compose是一种流行的技术&#xff0c;可以用来定义和管理你的应用程序所需的多个服务容器。通常在你的应用程序旁边创建一个 compose.yml 文件&#xff0c;它定义和配置服务容器。 使用 Docker Compose 的典型工作流程是运行 docker compose up&#xff0c;用它连接启动…

网站建设优化服务方案模板西安商城网站建设

前言 spring作为主流的 Java Web 开发的开源框架&#xff0c;是Java 世界最为成功的框架&#xff0c;持续不断深入认识spring框架是Java程序员不变的追求。 本篇博客介绍SpringBootApplicant注解的自动加载相关内容 其他相关的Spring博客文章列表如下&#xff1a; Spring基…

【实验报告】华东理工大学随机信号处理实验报告 - 详解

【实验报告】华东理工大学随机信号处理实验报告 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&q…

网站建设都包含哪些内容wordpress 更新网站

print() 在控制台输出 input() 获取控制台输⼊的内容 type() 获取变量的数据类型 len() 获取容器的⻓度 (元素的个数) range() ⽣成⼀个序列[0, n) 以上都是我们学过的函数&#xff0c;函数可以实现⼀个特定的功能。我们将学习⾃⼰如何定义函数, 实现特定的功能。 1.函数是什么…

页面置换算法

最佳置换算法opt 类似于cache 每次选择淘汰的页面将是以后永不使用的,或者在最长时间不会被访问的页面,这样可以保证最低的缺页率 缺页时未必发生页面置换,若还有可用的空闲内存块,就不用进行页面置换 缺页率=缺页…

Docker部署配置全流程(超详细——Windows和Linux) - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

推进电子设计革新:仿真(Emulation)如何引领下一代验证方式

在 IC 设计领域,硬件仿真(也称 FPGA 原型验证)已经跃升为不可或缺的关键技术。它以近乎真实硬件的形式重构目标设计,帮助工程师在硅片制造前进行高精度验证,为安全性、性能与功能保驾护航。1、为什么硬件仿真如此…

佛山网站建设兼职小型企业网站如何建设

为什么游戏公司选择物理服务器 1、选择的自由 选择游戏物理服务器可让我们根据需要自由选择和配置硬件。在完成设置和配置新获得的游戏服务器的所有艰苦工作后&#xff0c;请始终查看我们获得的价格&#xff0c;以确保自己拥有足够的带宽资源、端口容量和CPU核心&#xff0c;以…

AT_abc309_g [ABC309G] Ban Permutation

做这种排列计数题不是很明白. 首先考虑 \(x\) 很小,但它范围是扣掉一段区间,很不好. 我们容斥 \(j\) 个位置不满足条件去 DP,每次状压 \([i - x + 1, i + x - 1]\) 里数的用的情况即可,需要注意开头结尾的时候填不满.

在Mac上运行Windows 365的完整指南

本文详细介绍如何在Mac设备上部署和运行Windows 365云电脑,比较网页客户端与原生应用的功能差异,并逐步说明配置步骤和可用功能,包括多显示器支持和外围设备重定向等关键技术特性。如何在Mac上运行Windows 365 IT团…

完整教程:华为海思正式进入Wi-Fi FEM赛道?

完整教程:华为海思正式进入Wi-Fi FEM赛道?2025-10-03 09:26 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bl…

现在做微信开发网站多少钱创新产品设计

只听名字的话会感觉对偶单纯形法和对偶问题关系很大&#xff0c;其实不然(想要了解对偶问题的话可以看我之前的文章)。对偶单纯形法在我看来和大M法以及两阶段法很像&#xff0c;都是用来补充纯粹的单纯形法无法解决特殊问题的缺陷。而且对偶单纯形法更加“强大”&#xff0c;因…

摩刻S10 动感单车 速度传感器故障及更换!

前段时间骑行过程中发现仪表盘上速度偶尔为0,时间停止不走的情况。之后就完全为0,时间也不增长了。 之后询问官方客服人员说是速度传感器故障,需要更换,但需到官方制定店铺购买备件。 测试方式是在拆下的传感器接…

Flink 架构组件、任务链路、Slot 资源与集群形态 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

盘锦网站建设广州建站网站

目录 一、项目概述 二、测试环境说明 三、测试方案 四、测试结果 五、结果分析 总结&#xff1a; 一、项目概述 1.1 编写目的 本次测试报告&#xff0c;为自动化测试框架性能测试总结报告。目的在于总结我们课程所压测的目标系统的性能点、优化历史和可优化方向。 1.2 …

包装材料网站建设廊坊建设部网站

Java NIO Files类读取文件流方式详解 Files类原理概述 java.nio.file.Files是Java标准库提供的一个工具类&#xff0c;用于操作文件和目录。它提供了一系列静态方法&#xff0c;可以用于创建、复制、删除、移动、重命名、读取、写入文件和目录等常见的文件系统操作。同时&…