Codeforces Round 883 (Div. 3)(集训队加训1)
A.如果钉子与地面距离大于绳子的长度就必须剪
#include<bits/stdc++.h>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e6 + 9;
int a[N],b[N],cl[N];
void Lan(){int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i]>>b[i];}ll ans=0;for(int i=1;i<=n;i++){if(a[i]>b[i]){ans++;}}cout<<ans<<'\n';
}
int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q;cin>>q;while (q--) {Lan();}return 0;
}
B.
暴力枚举横竖2个斜
#include<bits/stdc++.h>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e3 + 9;
char a[N][N];
void Lan(){for(int i=3;i<=5;i++){for(int j=3;j<=5;j++){cin>>a[i][j];}}for(int i=3;i<=5;i++){for(int j=3;j<=5;j++){if(a[i][j]=='.'){continue;}if(a[i][j]==a[i+1][j+1] && a[i][j]==a[i+2][j+2]){cout<<a[i][j]<<'\n';return;} if(a[i][j]==a[i+1][j] && a[i][j]==a[i+2][j]){cout<<a[i][j]<<'\n';return;}if(a[i][j]==a[i][j+1] && a[i][j]==a[i][j+2]){cout<<a[i][j]<<'\n';return;}if(a[i][j]==a[i-1][j+1] && a[i][j]==a[i-2][j+2]){cout<<a[i][j]<<'\n';return;}}}cout<<"DRAW"<<'\n';
}
int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q;cin>>q;while (q--) {Lan();}return 0;
}
C.
贪心一下,然后结构体排序即可
#include<bits/stdc++.h>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e5 + 9;
ll t[N],prefix[N];
struct node{ll score,t,index;
}a[N];
bool cmp(node a,node b){return (a.score==b.score?(a.t==b.t?a.index<b.index:a.t<b.t):a.score>b.score);//排序
}
void Lan(){int n,m,h;cin>>n>>m>>h;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>t[j];}sort(t+1,t+1+m);//在矩阵中每行排序for(int j=1;j<=m;j++){prefix[j]=prefix[j-1]+t[j];//前缀和}ll res=0;int k;for(k=1;k<=m;k++){if(prefix[k]>h){break;}res+=prefix[k];}a[i].score=k,a[i].t=res,a[i].index=i;//存储}sort(a+1,a+1+n,cmp);for(int i=1;i<=n;i++){//找index==1if(a[i].index==1){cout<<i<<'\n';return;}}
}
int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q;cin>>q;while (q--) {Lan();}return 0;
}
D.
先算不重叠的,再用相似三角形算重合面积
#include<bits/stdc++.h>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long double ld;
const int N = 2e5 + 9;
int a[N],diff[N];
void Lan(){ld n,d,h;cin>>n>>d>>h;for(int i=1;i<=n;i++){cin>>a[i];}ld ans=n*d*h/2;for(int i=1;i<=n-1;i++){if(a[i]+h>a[i+1]){diff[i]=a[i]+h-a[i+1];}else{diff[i]=0;}}for(int i=1;i<=n-1;i++){//diff[i]/x=h/d->x*h=d*diff[i];->x=d*diff[i]/hif(diff[i]){ans-=(d*diff[i]/h)*(diff[i])/2;}}cout<<fixed<<setprecision(6)<<ans<<'\n';
}
int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q;cin>>q;while (q--) {Lan();}return 0;
}
E1-E2.
暴力枚举1e6,后面最多到k*k二分即可
#include<bits/stdc++.h>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e6 + 9;
int a[N];
set<ll> st;
void Lan(){ll n;cin>>n;if(st.count(n)){cout<<"YES"<<'\n';}else{ll x=sqrt(n);if(x>1 && x*(x+1)==n-1){cout<<"YES"<<'\n';}else{cout<<"NO"<<'\n';}}
}
void init(){for(ll i=2;i<=1e6;i++){ll x=1+i+i*i;ll y=i*i;st.insert(x);while(1){if(1.0*y>1.0*1e18/i){break;}y*=i;x+=y;if(x>1e18){break;}st.insert(x);}}
}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);init();int q;cin>>q;while (q--) {Lan();}return 0;
}
F.
思路好想的交互,但是写很shi
#include<bits/stdc++.h>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e6 + 9;
int a[N],c[N],fzc[N];
/*变了就删去不是这个数字的等下一次变把不是这个数字的发送即可不能固定等第2次是否变如果第一次变了不变了第三次变了第四次不变就会wa*/
void Lan(){int n;cin>>n;for(int i=1;i<=9;i++){//初始化!c[i]=0;fzc[i]=0;}for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){//记录现在的数字种类以及数量c[a[i]]++;}cout<<"-"<<" "<<0<<endl;//第一次for(int i=1;i<=n;i++){cin>>a[i];}int keynum=0;//找多的,从少的变到多的for(int i=1;i<=n;i++){fzc[a[i]]++;}for(int i=1;i<=9;i++){if(fzc[i]>c[i]){keynum=i;break;}}if(!keynum){for(int i=1;i<=9;i++){fzc[i]=0;}cout<<'-'<<" "<<0<<endl;//必然要换了 for(int i=1;i<=n;i++){cin>>a[i]; }for(int i=1;i<=n;i++){fzc[a[i]]++;}for(int i=1;i<=9;i++){if(fzc[i]>c[i]){keynum=i;break;}}}vector<int> del;//可以删去的数字for(int i=1;i<=n;i++){if(a[i]!=keynum){del.push_back(i);}}cout<<"-"<<" "<<(int)del.size()<<" ";for(auto &i : del){cout<<i<<" ";}cout<<endl;for(int i=1;i<=9;i++){//清空c[i]=0;fzc[i]=0;}//结束上述过程后数组其实只存在一个数字,因此等2轮找不是这个数字的index即可for(int i=1;i<=n-(int)del.size();i++){//得到数组只是接受一下回复信息cin>>a[i];}ll ansindex=0;for(int i=1;i<=n-(int)del.size();i++){if(a[i]!=keynum){ansindex=i;break;}}if(ansindex){cout<<"!"<<" "<<ansindex<<endl;return;}cout<<"-"<<" "<<0<<endl;//这轮结束后必然会有换的for(int i=1;i<=n-(int)del.size();i++){cin>>a[i];}for(int i=1;i<=n;i++){//找到对应indexif(a[i]!=keynum){ansindex=i;break;}}cout<<"!"<<" "<<ansindex<<endl;
}
int main() {// ios::sync_with_stdio(false);// cin.tie(0),cout.tie(0);int q;cin>>q;while (q--) {Lan();}return 0;
}
相关文章:
Codeforces Round 883 (Div. 3)(集训队加训1)
A.如果钉子与地面距离大于绳子的长度就必须剪 #include<bits/stdc.h> #define eps 1e-5 #define INF 1e9 using namespace std; typedef long long ll; const int N 2e6 9; int a[N],b[N],cl[N]; void Lan(){int n;cin>>n;for(int i1;i<n;i){cin>>a[i]…...
自封装 bind 方法(二)
因为 bind 的使用方法是 某函数.bind(某对象,...剩余参数) 所以需要在 Function.prototype 上进行编程将传递的参数中的某对象和剩余参数使用 apply 的方式在一个回调函数中执行即可要在第一层获取到被绑定函数的 this,因为要拿到那个函数用 apply /***…...
vcomp140.dll丢失如何修复,5种修复方法轻松搞定vcomp140.dll问题
vcomp140.dll文件的丢失可能会引发一系列系统运行与软件功能上的问题。具体来说,这个动态链接库文件是Visual C Redistributable的一部分,对于许多基于此环境开发的应用程序至关重要。一旦缺失,可能会导致部分应用程序无法正常启动或运行&…...
计算机视觉(Computer Vision)和机器视觉(Machine Vision)
举例说明计算机视觉(CV)技术的优势和挑战 计算机视觉(CV)技术是一种使用计算机科学和机器学习方法来解释、分析和理解图像和视频的技术。它的优势和挑战如下: 优势: 高效性:CV技术可以快速处…...
国内用ChatGPT可以吗
PS: 无限次数,无需魔法,登录即可使用,网页打开下面 tj4.mnsfdx.net 点击跳转链接 国内用ChatGPT可以吗?简单来说,是可以的,国内可以使用ChatGPT。ChatGPT是一款实体机器翻译工具,也是一种人工智能技术&…...
数据分析-Pandas两种分组箱线图比较
数据分析-Pandas两种分组箱线图比较 数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律? 数据表&am…...
Mac版2024 CleanMyMac X 4.14.6 核心功能详解以及永久下载和激活入口
CleanMyMac 是 macOS 上久负盛名的系统清理工具,2018 年,里程碑式版本 CleanMyMac X 正式发布。不仅仅是命名上的变化,焕然一新的 UI、流畅的动画也让它显得更加精致。新增的系统优化、软件更新等功能,使得在日常使用 macOS 时有了…...
Java引用传递及基本应用
在 Java 中,传递参数的方式主要有两种:值传递(传递的是对象的引用值)和引用传递。本教程将重点介绍 Java 中的引用传递以及其基本应用。 1. 引用传递概念 在 Java 中,所有的方法参数都是通过值传递的。对于对象类型的…...
低代码测试自动化
每个企业都希望将产品快速推向市场。虽然低代码无代码测试自动化可以帮助组织实现这一目标,但测试人员必须牢记几件事,才能通过低代码无代码来推进他们的组织。 低代码测试自动化的重要性是什么? 低代码测试自动化加速了测试生命周期。借助简…...
Linux 文件操作命令
1 文件与目录操作 cd /home 进入 ‘/home’ 目录 cd .. 返回上一级目录cd ../.. 返回上两级目录cd - 返回上次所在目录cp file1 file2 将file1复制为file2cp -a dir1 dir2 复制一个目录 cp -a /tmp/dir1 . 复制一个…...
机器学习-面经(part8、贝叶斯和其他知识点)
机器学习面经其他系列 机器学习面经系列的其他部分如下所示: 机器学习-面经(part1)-初步说明 机器学习-面经(part2)-交叉验证、超参数优化、评价指标等内容 机器学习-面经(part3)-正则化、特征工程面试问题与解答合集机器学习-面经(part4)-决策树共5000字的面试问…...
图数据库 之 Neo4j - 应用场景3 - 知识图谱(8)
背景 知识图谱的复杂性:知识图谱通常包含大量的实体、关系和属性,以及它们之间的复杂关联。传统的关系型数据库在处理这种复杂性时可能面临性能和灵活性的挑战。 图数据库的优势:图数据库是一种专门用于存储和处理图结构数据的数据库。它们使用节点和边来表示实体和关系,并…...
redis 性能优化三
前言 如果Redis 没有执行大量的慢查询,同时也没有删除大量的过期的keys,那么我们该怎么办呢?那么我们是不是就应该关注影响性能的其他机制了,也就是文件系统和操作系统了。 Redis 会把数据持久化到磁盘,这个过程依赖文件系统来完…...
Python用Tkinter实现圆的半径 面积 周长 知一求二程序
Python用Tkinter实现圆的半径 面积 周长 知一求二程序 import tkinter as tk from tkinter import messagebox from tkinter import *app tk.Tk() app.title(圆的半径 面积 周长 知一求二程序) app.geometry(425x125)label1 tk.Label(app, text"半径") label2 tk.…...
电源环路补偿的目标是避免产生正反馈
在一般的认识中,进行电源环路设计的目的是保证电源输出端的电压稳定,在误差信号传入系统时,系统进行负反馈调节,矫正干扰信号带来的误差量。 那么,为什么要设置成这样,不稳定会有什么后果等等,…...
SSM+MySQL替换探索 openGauss对比postgresql12
SSM 介绍 SSM(SpringSpringMVCMyBatis)框架集由 Spring、MyBatis 两个开源框架整合而成(SpringMVC 是 Spring 中的部分内容),常作为数据源较简单的 web 项目的框架。 Spring Spring 就像是整个项目中装配 bean 的大…...
XGboost的整理
XGboost(extreme gradient boosting):高效实现了GBDT算法并进行了算法和工程上的许多改进。 XGboost的思路: 目标:建立k个回归树,使得树群的预测尽量接近真实值(准确率)而且有尽量大的泛化能力…...
java入门基础学习导览
本篇文章会持续更新直到更新完毕,关注博主不迷路~(如果没有超链接,表示还没有更新到) 一 JAVA语言基础 二 流程控制 三 数组 字符串 与正则表达式 四 JAVA面向对象编程 五 JAVA 异常处理 六 JAVA输入输出 七 泛型与容器类 …...
网工内推 | 上市公司售前,大专以上即可,最高15K*13薪,补贴多
01 北京神州新桥科技有限公司 招聘岗位:售前工程师 职责描述: 1、完成项目的售前技术支持工作; 2、 配合销售进行新产品及解决方案的推广工作; 3、 配合销售完成用户的售前技术交流方案准备、现场技术交流、技术方案宣讲等工作…...
JAVA开发第一个Springboot WebApi项目
一、创建项目 1、用IDEA新建一个SpringBoot项目 注意JDK与Java版本的匹配,如果想选择jdk低版本,先要更改服务器URL:start.aliyun.com 2、添加依赖 (1)、Lombok (2)、Spring Web (3)、Mybatis Framework (4)、MySqlDriver 项目中的配置 pom.xml 如下 <?…...
Grasscutter命令生成器终极指南:如何5分钟上手原神私服管理
Grasscutter命令生成器终极指南:如何5分钟上手原神私服管理 【免费下载链接】GrasscutterCommandGenerator Command Generator and Gacha Banner Editor 项目地址: https://gitcode.com/gh_mirrors/gr/GrasscutterCommandGenerator Grasscutter命令生成器是一…...
微信好友检测终极指南:快速发现谁删除了你的免费解决方案
微信好友检测终极指南:快速发现谁删除了你的免费解决方案 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends …...
DDrawCompat:如何在现代Windows上为经典DirectX游戏注入新生命?
DDrawCompat:如何在现代Windows上为经典DirectX游戏注入新生命? 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/…...
学Simulink——微电网中双向DC-AC逆变器的孤岛检测与运行控制仿真
目录 手把手教你学Simulink——微电网中双向DC-AC逆变器的孤岛检测与运行控制仿真 一、背景与挑战 1.1 什么是孤岛?为什么它是“安全隐患”? 1.2 核心痛点与设计目标 二、系统架构与核心控制推导 2.1 整体架构:感知、决策与执行的分层设计 2.2 核心数学推导:孤岛检测…...
从机房搬服务器到写代码上云:一个传统运维的十年转型路,我如何成了SRE?
从物理机到云原生:一位技术人的十年转型实战笔记 运维行业的变革速度远超许多人想象。十年前,我还在机房亲手插拔网线、用KVM切换器调试服务器;如今,我的日常工作已经变成了编写自动化部署脚本和设计分布式系统监控方案。这不是简…...
移动Git客户端:Android上的完整版本控制解决方案
移动Git客户端:Android上的完整版本控制解决方案 【免费下载链接】MGit A Git client for Android. 项目地址: https://gitcode.com/gh_mirrors/mg/MGit 在移动开发日益普及的今天,开发者需要在不同场景下管理代码版本。移动Git客户端MGit为Andro…...
钉钉机器人消息解析器:基于JSON Path与模板的自动化数据提取方案
1. 项目概述:一个钉钉消息解析器的诞生最近在做一个内部自动化工具时,遇到了一个挺有意思的需求:需要把钉钉机器人推送过来的消息,从原始的、结构复杂的JSON格式里,精准地“抠”出我们关心的业务数据。比如,…...
HoRain云--VS Code 创建与使用 Skill
🎬 HoRain 云小助手:个人主页 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …...
Nodejs项目接入Taotoken统一大模型API的完整配置指南
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Nodejs项目接入Taotoken统一大模型API的完整配置指南 1. 准备工作:获取API Key与模型ID 在开始编写代码之前ÿ…...
通过Nodejs快速为Web应用接入多模型AI能力
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Nodejs快速为Web应用接入多模型AI能力 现代Web应用对智能交互能力的需求日益增长,无论是客服对话、内容辅助生成还…...
