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

7.25训练总结

考场错误:
A题其实并不简单,但是先想了一个方法后,就交了,wa了后一直卡住,策略不当,到最后后期写C的时候也犯了一些低级的错误,这点需要注意。
之后顺利的把BCDHI写完后,又完成了A的改正补充,最后又把G完成了,最终做出了7个题,但罚时最多,应该注意正确率

Gym - 100738E

启发式合并的模板题,其实看到25次的限制,就应该想到应该和log有关,结合最小生成树的Kruskal的算法,把边权排序一个一个做合并就可以了,注意每次选择sz小的往sz大的上面合并就好了

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=2e5+5;
int n,m;
struct edge
{int x,y,z;
}e[maxn<<1];
int fa[maxn],bus[maxn];
vector <int> driver[maxn];
bool cmp(edge x,edge y)
{return x.z<y.z;
}
int find(int x)
{if(x==fa[x]) return x;return fa[x]=find(fa[x]);
}
vector <int> G[maxn];
int gs;
ll res;
void print(int u,int ff)
{for(int to:G[u]){if(to==ff) continue;print(to,u);if(driver[bus[to]].size()>driver[bus[u]].size())swap(bus[u],bus[to]);for(int v:driver[bus[to]]){driver[bus[u]].push_back(v);printf("Move %d %d %d\n",v,bus[to],bus[u]);}}if(ff) printf("Drive %d %d %d\n",bus[u],u,ff);
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=m;i++) scanf("%d%d%d",&e[i].x,&e[i].y,&e[i].z);for(int i=1;i<=n;i++) fa[i]=i,bus[i]=i,driver[i].push_back(i);sort(e+1,e+m+1,cmp);for(int i=1;i<=m;i++){int fx=find(e[i].x),fy=find(e[i].y);if(fx==fy) continue;fa[fx]=fy;res+=e[i].z;G[e[i].x].push_back(e[i].y);G[e[i].y].push_back(e[i].x);gs++; if(gs==n-1) break;}printf("%lld\n",res);for(int i=1;i<=n;i++) fa[i]=i;print(1,0);printf("Done\n");return 0;
}

Gym - 100738F

后缀数组的裸题,可以使用后缀数组后
然后把询问离线,按照长度依次处理,对于同一个长度,二分配合树状数组计算即可

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int n;
char s[maxn];
int sa[maxn],rk[maxn],cnt[maxn],fz[maxn];
int oldrk[maxn],id[maxn];
bool cmp(int x,int y,int w)
{return oldrk[x]==oldrk[y] && oldrk[x+w]==oldrk[y+w];
}
void SA()
{int m=233;for(int i=0;i<=m;i++) cnt[i]=0;for(int i=1;i<=n;i++) cnt[rk[i]=s[i]]++;for(int i=1;i<=m;i++) cnt[i]+=cnt[i-1];for(int i=n;i>=1;i--) sa[cnt[rk[i]]--]=i;int i,p;for(int w=1;;w<<=1,m=p){for(p=0,i=n;i>n-w;i--) id[++p]=i;for(i=1;i<=n;i++) if(sa[i]>w) id[++p]=sa[i]-w;for(i=0;i<=m;i++) cnt[i]=0;for(i=1;i<=n;i++) cnt[fz[i]=rk[id[i]]]++;for(i=1;i<=m;i++) cnt[i]+=cnt[i-1];for(i=n;i>=1;i--) sa[cnt[fz[i]]--]=id[i];for(i=1;i<=n;i++) oldrk[i]=rk[i];for(p=0,i=1;i<=n;i++) rk[sa[i]]=cmp(sa[i],sa[i-1],w)?p:++p;if(p==n){for(i=1;i<=n;i++) sa[rk[i]]=i;break;}}
}
struct Query
{int id,l,k;
}q[maxn];
int Q;
bool ccmp(Query x,Query y)
{return x.l<y.l;
}
int c[maxn];
int lowbit(int x)
{return x&-x;
}
void add(int pos,int x)
{while(pos<=n){c[pos]+=x;pos+=lowbit(pos);}
}
int ask(int pos)
{int res=0;while(pos){res+=c[pos];pos-=lowbit(pos);}return res;
}
int res[maxn];
int main()
{scanf("%s",s+1);n=strlen(s+1);SA();scanf("%d",&Q);for(int i=1;i<=Q;i++){scanf("%d%d",&q[i].l,&q[i].k);q[i].id=i;} sort(q+1,q+Q+1,ccmp);int now=1;for(int i=1;i<=Q;i++){while(now<q[i].l){add(rk[n-now+1],1);now++;}int l=1,r=n,ans=0;while(l<=r){int mid=l+r>>1;if(mid-ask(mid)>=q[i].k) ans=mid,r=mid-1;else l=mid+1;}res[q[i].id]=sa[ans];}for(int i=1;i<=Q;i++) printf("%d\n",res[i]);return 0;
}

相关文章:

7.25训练总结

考场错误&#xff1a; A题其实并不简单&#xff0c;但是先想了一个方法后&#xff0c;就交了&#xff0c;wa了后一直卡住&#xff0c;策略不当&#xff0c;到最后后期写C的时候也犯了一些低级的错误&#xff0c;这点需要注意。 之后顺利的把BCDHI写完后&#xff0c;又完成了A的…...

java注解@FeignClient修饰的类路径不在spring boot入口类所在的包下,有哪几种处理方式?

一、注解EnableFeignClients 修饰在spring boot入口类&#xff0c;使得openfeign的FeignClient注解生效。 我们进一步看看注解EnableFeignClients的使用方式。 String[] basePackages() default {};Class<?>[] basePackageClasses() default {};Class<?>[] clie…...

神经网络随记-参数矩阵、剪枝、模型压缩、大小匹配、、

神经网络的参数矩阵 在神经网络中&#xff0c;参数矩阵是模型学习的关键部分&#xff0c;它包含了神经网络的权重和偏置项。下面是神经网络中常见的参数矩阵&#xff1a; 权重矩阵&#xff08;Weight Matrix&#xff09;&#xff1a;权重矩阵用于线性变换操作&#xff0c;将输…...

4、Kubernetes 集群 YAML 文件详解

目录 一、YAML 概述 二、YAML 基本语法 三、YAML 数据结构 四、k8s资源清单描述方法 五、YAML 快速编写 1、使用 kubectl create 命令 2、使用 kubectl get 命令导出 yaml 文件 一、YAML 概述 k8s 集群中对资源管理和资源对象编排部署都可以通过声明YAML文件来解决&…...

leetcode93. 复原 IP 地址(java)

复原 IP 地址 leetcode93. 复原 IP 地址回溯算法代码演示 回溯算法 leetcode93. 复原 IP 地址 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 ‘.’ 分隔。 例如&#xff1a;“0.1.2…...

极光Java 版本服务器端实现别名消息推送

文章目录 引言I 概述1.1 依赖包1.2 极光证书环境参数1.3 构建推送对象II 推送内容2.1 配置推送内容2.2 获取通知消息内容2.3 配置IOS通知内容2.4 配置Android通知内容2.5 发起推送2.6 分批推送2.7 初始化密钥2.8 配置密钥引言 REST API 文档:https://docs.jiguang.cn/jpush/se…...

【Lua学习笔记】Lua进阶——Table(4)继承,封装,多态

文章目录 封装继承多态 封装 // 定义基类 Object {}//由于表的特性&#xff0c;该句就相当于定义基类变量 Object.id 1//该句相当于定义方法&#xff0c;Object可以视为定义的对象&#xff0c;Test可以视为方法名 //我们知道Object是一个表&#xff0c;但是抽象地看&#xff…...

安全性证明(四)Practical Identity-Based Encryption Without Random Oracles

...

Linux中常用的指令

ls ls [选项] [目录或文件] 功能&#xff1a;对于目录&#xff0c;列出该目录下所有的子目录和文件&#xff1b;对于文件&#xff0c;列出该文件的文件名和其他属性 常用选项&#xff1a; -a:列出目录下的所有文件&#xff0c;包括以.开头的隐藏文件 -l:列出文件的详细信息。…...

【java】【面对对象高级4】内部类、枚举、泛型

目录 1、内部类 1.1 成员内部类【了解】 1.1.1 定义 1.1.2 扩展变量 1.2 静态内部类【了解】 1.2.1 定义 1.2.2 扩展变量 1.3 局部内部类【了解】 1.4 匿名内部类【重点】 1.4.1 定义 1.4.1.1 常规写法 1.4.1.2 匿名内部类改造 1.4.2 匿名内部类的常见使用场景 1.4.2…...

Python的用处到底是什么?(三)

11. 数据库操作&#xff1a;Python的库&#xff0c;如sqlite3和SQLAlchemy&#xff0c;可以连接和操作各种类型的数据库。 Python提供了一些库和工具&#xff0c;如sqlite3和SQLAlchemy&#xff0c;用于连接和操作各种类型的数据库。以下是关于这两个库的详细解释&#xff1a;…...

【Nodejs】Express基本使用

Express 中文网 基于 Node.js 平台&#xff0c;快速、开放、极简的 web 开发框架。 1.Express的安装方式 Express的安装可直接使用npm包管理器上的项目&#xff0c;在安装npm之前可先安装淘宝镜像&#xff1a; npm install -g cnpm --registryhttps://registry.npmmirror.com/…...

k8s集群安装v1.20.9

参考网上资料并将异常问题解决&#xff0c;经测试可正常安装集群。 1.我的环境准备 本人使用vmware pro 17新建三个centos7虚拟机&#xff0c;每个2cpu&#xff0c;20GB磁盘存储&#xff0c;内存2GB&#xff0c;其中主节点的内存3GB&#xff0c;可使用外网. 2.所有节点安装D…...

Staples Drop Ship EDI 需求分析

Staples 是一家美国零售公司&#xff0c;总部位于马萨诸塞州弗拉明汉&#xff0c;主要提供支持工作和学习的产品和服务。该公司于 1986 年在马萨诸塞州布莱顿开设了第一家门店。到 1996 年&#xff0c;该公司已跻身《财富》世界 500 强&#xff0c;后来又收购了办公用品公司 Qu…...

模型调参及优化

调参 调权重参数&#xff0c;偏置参数 训练数据集用来训练参数w&#xff0c;b 调超参数 验证数据集用来选择超参数学习率lr&#xff0c;隐藏层大小等 如何调参 当泛化误差和训练误差都没有降下去说明欠拟合&#xff1b;当训练误差降下去&#xff0c;但泛化误差出现上升形式&…...

多数据源数据转换和同步的ETL工具推荐

有许多支持多数据源数据转换和同步的ETL工具可供选择。以下是一些常见的ETL工具和它们支持多数据源数据转换和同步的特点&#xff1a; Apache NiFi&#xff1a;Apache NiFi是一个开源的ETL工具&#xff0c;支持多种数据源的连接&#xff0c;包括文件系统、数据库、消息队列、网…...

配置 gitlab https 访问

文章目录 1. 备份2. 生成SSL证书3. 配置文件4. 重启5. 访问 1. 备份 docker exec -ti gitlab-ce gitlab-rake gitlab:backup:create2. 生成SSL证书 yum install openssl openssl-devel -y mkdir /data/gitlab/config/ssl ; cd /data/gitlab/config/ssl### 生成证书 openssl…...

Kepware Modbus驱动简介

1. Modbus驱动能够解决什么问题&#xff1f; 它是Modbus设备驱动的集合&#xff0c;为用户提供一种方便快捷的Modbus设备数采解决方案。 只需要通过简单的配置就可以将常见的例如Modbus TCP/IP Ethernet、RTU Serial 和 ASCII Serial等协议设备无缝连接到 HMI/SCADA、MES/His…...

从零开始学习CTF——CTF是什么

引言&#xff1a; 从2019年10月开始接触CTF&#xff0c;学习了sql注入、文件包含等web知识点&#xff0c;但都是只知道知识点却实用不上&#xff0c;后来在刷CTF题才发现知识点的使用方法&#xff0c;知道在哪里使用&#xff0c;哪里容易出漏洞&#xff0c;可是在挖src漏洞中还…...

为Android构建现代应用——主体结构

创建Screents和ViewModels 在前面的章节中&#xff0c;我们已经分析了OrderNow项目的理论概念和我们将赋予的组织。 在本章中&#xff0c;我们将开始实现初始结构和模板&#xff0c;这将联接每一个应用程序的部分。 首先将添加以下带有各自视图模型的主屏幕&#xff1a; •…...

Pixel Fashion Atelier惊艳案例:‘赛博神社’主题皮装在明亮城镇UI下的生成

Pixel Fashion Atelier惊艳案例&#xff1a;‘赛博神社’主题皮装在明亮城镇UI下的生成 1. 项目概览 Pixel Fashion Atelier&#xff08;像素时装锻造坊&#xff09;是一款基于Stable Diffusion与Anything-v5的图像生成工作站。与传统AI工具不同&#xff0c;它采用了复古日系…...

别死记硬背了!用Python的NumPy库,5分钟搞定线性代数里的矩阵运算(附代码)

用Python的NumPy库轻松玩转线性代数&#xff1a;矩阵运算实战指南 线性代数作为现代科学与工程的基石&#xff0c;在机器学习、计算机图形学、量化金融等领域无处不在。但传统教材中抽象的数学符号和繁琐的手工计算&#xff0c;往往让学习者望而生畏。今天&#xff0c;我们将用…...

STM32CubeMX实战:5分钟搞定RTC定时唤醒低功耗设计(附LED状态检测技巧)

STM32CubeMX实战&#xff1a;RTC定时唤醒与低功耗设计的5个关键技巧 嵌入式开发者经常面临一个挑战&#xff1a;如何在保证设备功能完整的同时&#xff0c;最大限度地延长电池寿命。RTC&#xff08;实时时钟&#xff09;定时唤醒技术正是解决这一问题的利器&#xff0c;它能让…...

OpenClaw硬件监控:nanobot定时报告系统资源使用情况

OpenClaw硬件监控&#xff1a;nanobot定时报告系统资源使用情况 1. 为什么需要自动化硬件监控 去年夏天&#xff0c;我的开发机因为内存泄漏问题突然宕机&#xff0c;导致一个重要的线上演示被迫推迟。当时我就意识到&#xff0c;手动检查系统资源的方式既不及时也不可靠。直…...

OpenClaw入门到精通:GLM-4.7-Flash自动化全流程解析

OpenClaw入门到精通&#xff1a;GLM-4.7-Flash自动化全流程解析 1. 为什么选择OpenClawGLM-4.7-Flash组合 去年冬天&#xff0c;当我第一次尝试用Python脚本批量处理公司周报时&#xff0c;发现传统自动化工具在面对非结构化数据时显得力不从心。直到接触了OpenClaw这个能直接…...

Workbench与Ls-Dyna中位移与远程位移设置的关键字映射解析

1. 固定支撑的关键字映射与实战配置 在有限元分析中&#xff0c;固定支撑是最基础的边界条件之一。Workbench和Ls-Dyna对固定支撑的实现逻辑完全不同&#xff0c;但最终达到的约束效果是等效的。先看Workbench端的操作&#xff1a;在Mechanical界面右键选择Ls-Dyna环境&#xf…...

【Python张量计算实战宝典】:20年AI架构师亲授5大高频场景优化技巧,错过再等一年

第一章&#xff1a;张量计算基础与PyTorch/TensorFlow双框架选型指南张量是深度学习的核心数据结构&#xff0c;本质为多维数组&#xff0c;支持自动微分、GPU加速与动态/静态计算图构建。理解其内存布局&#xff08;如C-contiguous vs. Fortran-contiguous&#xff09;、广播机…...

VuePress/Hexo博客作者必看:VSCode Paste Image插件路径配置避坑指南

VuePress/Hexo博客作者必看&#xff1a;VSCode Paste Image插件路径配置避坑指南 当你沉浸在VSCode中撰写技术博客时&#xff0c;是否遇到过这样的场景&#xff1a;本地预览时图片显示完美&#xff0c;但一旦部署到线上&#xff0c;所有图片都变成了令人沮丧的404错误&#xff…...

老码农和你一起学AI系列:ELECTRA

ELECTRA&#xff08;Efficiently Learning an Encoder that Classifies Token Replacements Accurately&#xff09;是Google Research在2020年提出的一种自监督预训练方法。它不像BERT那样做“完形填空”&#xff0c;而是让模型扮演一个“作弊检测员”&#xff0c;通过判别输入…...

PyTorch张量拼接实战:torch.stack()与torch.cat()的5个典型场景对比

PyTorch张量拼接实战&#xff1a;torch.stack()与torch.cat()的5个典型场景对比 在深度学习项目中&#xff0c;数据维度的操作就像乐高积木的拼装——选错连接方式可能导致模型结构崩塌。作为PyTorch中高频使用的两种拼接操作&#xff0c;torch.stack()和torch.cat()常被混淆使…...