11.15 ~ 18日志

1.Problem - A - Codeforces

这道题感觉网上的题解都讲得非常复杂,但是也给了我一些启发,最后a出来后发现并没有那么困难,首先这题假设我们的答案是x,那么就代表有(sum + k) / x个牌堆,想要让x合法需要满足两个条件

1.(sum + k) / x >= maxn,因为每副牌堆不能有重复的牌,那么牌堆数至少要大于等于最多的牌才有可能

2.(sum + k) / x * x >= sum,这是因为当k = 0的时候sum / x是向下取整的,此时有可能出现牌堆数 * x < sum的情况,这是不能存在的

#define yyy cout<<"Yes"<<"\n" 
#define nnn cout<<"No"<<"\n" 
#define x first 
#define y second
#include<bits/stdc++.h>
using namespace std;typedef long long ll;
typedef pair<ll , ll> pii;
typedef pair<int , string> pis;
const int N = 1e6 + 10,M = 2e5 + 5e4,inf = 0x3f3f3f3f,mod = 1e9 + 7;
const double pi = 3.1415926535898;ll n,k;
ll a[N];void work()
{cin>>n>>k;ll maxn = 0,sum = 0;for(int i = 1 ; i <= n ; i++){cin>>a[i];maxn = max(maxn , a[i]);sum += a[i];}int ans = 1;for(int i = n ; i >= 1 ; i--){ll y = (sum + k) / i;if(y >= maxn && y * i >= sum){ans = i;break;}}cout<<ans<<"\n";
}int main()
{std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);int t;cin>>t;while(t--){work();}
}

2.D - Project Planning

想复杂了,这题可以直接二分答案,因为我们发现只要场次够小就一定可以满足,而若是超过一个临界值就无法满足,因此我们需要二分找出这个临界值,那么如何判断能不能凑出mid场呢,对于ai >= mid的计数+1,而对于ai < mid的则需要所有ai < mid的凑起来一起除去mid是他们的贡献数看加起来是否超过k

#define yyy cout<<"Yes"<<"\n" 
#define nnn cout<<"No"<<"\n" 
#define x first 
#define y second
#include<bits/stdc++.h>
using namespace std;typedef long long ll;
typedef pair<ll , ll> pii;
typedef pair<int , string> pis;
const int N = 5e5 + 10,M = 2e5 + 5e4,inf = 0x3f3f3f3f,mod = 1e9 + 7;
const double pi = 3.1415926535898;ll n,k;
ll a[N];bool check(ll mid)
{ll sum = 0,cnt = 0;for(int i = 1 ; i <= n ; i++){if(a[i] >= mid){cnt++;}else{sum += a[i];}}cnt += sum / mid;return cnt >= k;
}int main()
{std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);cin>>n>>k;for(int i = 1 ; i <= n ; i++){cin>>a[i];}ll l = 0,r = 1e18;while(l < r){ll mid = (l + r + 1) / 2;if(check(mid)){l = mid;}else{r = mid - 1;}}cout<<r;
}   

3.P1197 [JSOI2008] 星球大战 - 洛谷 | 计算机科学教育新生态

正难则反,首先很容易能够想到并查集,但是对于删点的操作不太好想,因为我们每次删除一个点i我们并不能知道与i相连的j是否还与其他点有连结从而继续联通,但是我们反过来想,不是将k个点依次删除而是从头到尾将k个点依次连结,这样每次接点的时候只需要i和j的祖先是否相同,若不同则合并后一定会少一个连通块,复杂度实际上是k + m

#define yyy cout<<"Yes"<<"\n" 
#define nnn cout<<"No"<<"\n" 
#define x first 
#define y second
#include<bits/stdc++.h>
using namespace std;typedef long long ll;
typedef pair<ll , ll> pii;
typedef pair<int , string> pis;
const int N = 1e6 + 10,inf = 0x3f3f3f3f,mod = 1e9 + 7;
const double pi = 3.1415926535898;int n,m,k;
int p[N],a[N],ans[N];
vector <int> g[N];
bool st[N];int find(int x)
{if(p[x] != x){p[x] = find(p[x]);}return p[x];
}void merge(int u,int v)
{int fu = find(u),fv = find(v);if(fu != fv){p[fu] = fv;}
}int main()
{std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);cin>>n>>m;for(int i = 0 ; i < n ; i++){p[i] = i;}for(int i = 1 ; i <= m ; i++){int u,v;cin>>u>>v;g[u].push_back(v);g[v].push_back(u);}int k;cin>>k;for(int i = 1 ; i <= k ; i++){cin>>a[i];st[a[i]] = 1;}int sum = n - k;for(int i = 0 ; i < n ; i++){int u = i;if(st[u]){continue;}for(int j = 0 ; j < g[u].size() ; j++){int v = g[u][j];if(st[v]){continue;}int fu = find(u),fv = find(v);if(fu != fv){sum--;merge(fu , fv);}}}ans[k] = sum;for(int i = k ; i >= 1 ; i--){int u = a[i];sum++,st[u] = 0;for(int j = 0 ; j < g[u].size() ; j++){int v = g[u][j];if(st[v]){continue;}int fu = find(u),fv = find(v);if(fu != fv){sum--;merge(fu , fv);}}ans[i - 1] = sum;}for(int i = 0  ; i <= k ; i++){cout<<ans[i]<<"\n";}
}   

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

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

相关文章

django安装与项目创建

一、安装 在终端输入 pip install django //或者(&#xff09;指定安装版本 pip install django2.2 二、创建项目 2.1创建项目 django-admin startproject 项目名 2.2Django 项目中的关键文件 _init_.py:将目录标识为python包setting.py:核心配置文件&#xff0c;定义项目…

《高压物理学报》

刊载内容主要包括&#xff1a; 高温高压下材料的力、热、光、电、磁等特性 高温高压下材料的微观结构和相变 高温高压物态方程 动态及静态高压加载和测试技术 高压合成新材料 高压地球和行星科学 高压下物质的动态响应 冲击和爆轰现象 高压与化学、生物等交叉科学及技…

Python学习28天

#冒泡排序&#xff0c;将如下列表从大到小排序 num[1,2,3,4,5] print(f"排序前&#xff1a;{num}")#第一次排序&#xff1a;将最小的排到最后一个位置&#xff1a; # 第1次比较 [2,1,3,4,5] # 第2次比较 [2,3,1,4,5] # 第3次比较 [2,3,4,1,5] # 第4次比较 [2,3,4,5,…

Shell脚本5 -- 脚本与用户交互read

声明&#xff1a; 本文的学习内容来源于B站up主“泷羽sec”视频【shell编程&#xff08;4&#xff09;脚本与用户交互以及if条件判断】的公开分享&#xff0c;所有内容仅限于网络安全技术的交流学习&#xff0c;不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题&#xff0c…

【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法

【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法 目录 文章目录 【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法目录摘要&#xff1a;研究背景&#xff1a;问题与挑战&#xff1a;如何解…

【网络安全 | 漏洞挖掘】未授权获取AI聊天内容

未经许可,不得转载。 文章目录 两天前,我收到了一项私人项目的邀请,内容看起来像是一个聊天机器人,类似于 Gemini 或 ChatGPT。于是我开始测试该项目的一些业务逻辑漏洞和 IDOR(不当访问控制)漏洞。尽管这个产品拥有一个强大的安全团队,网站上也部署了 WAF(Web 应用防火…

7天掌握SQL - 第一天:数据库基础与SQL入门

目标 在本章节中&#xff0c;我们将学习数据库的基本概念和SQL语言的基础操作&#xff0c;为后续的深入学习打下坚实的基础。 一级目录 数据库基本概念SQL语言基础SQL操作实践推荐资源总结 1. 数据库基本概念 1.1 表&#xff08;Table&#xff09; 表是数据库中存储数据的…

vue实现展示并下载后端返回的图片流

// 点击下载 downLoadCode() {const image new Image();image.setAttribute("crossOrigin", "anonymous");image.onload () > {const canvas document.createElement("canvas");canvas.width image.width;canvas.height image.height;c…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04目录1. Alopex: A Computational Framework for Enabling On-Device Function Calls with LLMs摘要&#xff1a;研究背景&…

Python 人脸检测:使用 Dlib 和 OpenCV

简介 本文用Python、Dlib 和 OpenCV 库来检测图像中的人脸&#xff0c;并在人脸上绘制矩形框进行窗口显示。 环境准备 在开始之前&#xff0c;请确保您的计算机上已安装 Python。此外&#xff0c;您还需要安装以下库&#xff1a; dlib&#xff1a;一个包含多种机器学习算法…

JavaScript逆向爬虫教程-------基础篇之JavaScript密码学以及CryptoJS各种常用算法的实现

目录 一、密码学介绍 1.1 为什么要学密码学?1.2 密码学里面学哪一些 二、字符编码三、位运算四、Hex 编码与 Base64 编码 4.1 Hex 编码4.2 Base64 编码 五、消息摘要算法 5.1 简介5.2 JS中的MD5、SHA、HMAC、SM3 六、对称加密算法 6.1 介绍6.2 加密模式和填充方式6.3 CryptoJ…

go语言中的切片含义和用法详解

Go 语言中的切片&#xff08;slice&#xff09;是引用类型&#xff0c;它提供了一种灵活的方式去操作一系列具有相同类型的数据。与数组不同&#xff0c;切片的长度不是固定的&#xff0c;可以动态地增长或缩小。切片在 Go 语言中非常常用&#xff0c;因为它们提供了高效且方便…

使用 OpenAI 进行数据探索性分析(EDA)

#探索性数据分析&#xff08;Exploratory Data Analysis, 简称 EDA&#xff09;是数据分析中不可或缺的环节&#xff0c;帮助分析师快速了解数据的分布、特征和潜在模式。传统的 EDA 通常需要手动编写代码或使用工具完成。现在&#xff0c;通过 OpenAI 的 GPT-4 模型&#xff0…

【软考】系统架构设计师-数据库设计基础

数据库核心考点 三级模式-两级映射 外模式--视图 概念模式--表&#xff08;模式、基本表&#xff09; 内模式--物理文件 数据库设计 概念结构设计&#xff1a;属性冲突、命名冲突、结构冲突 逻辑结构设计&#xff1a;关系模式&#xff08;层次模型、网络模型&#xff09…

2、计算机网络七层封包和解包的过程

计算机网络osi七层模型 1、网络模型总体预览2、数据链路层4、传输层5.应用层 1、网络模型总体预览 图片均来源B站&#xff1a;网络安全收藏家&#xff0c;没有本人作图 2、数据链路层 案例描述&#xff1a;主机A发出一条信息&#xff0c;到路由器A&#xff0c;这里封装目标MAC…

图像重建之深度学习重建

图像重建是计算机视觉领域的一个重要任务。深度学习在图像重建中具有很强的能力和广泛的应用。下面介绍一种常见的深度学习图像重建方法&#xff1a;基于生成对抗网络&#xff08;Generative Adversarial Networks&#xff0c;GANs&#xff09;的图像重建。 基于 GAN 的图像重…

使用 PyTorch-BigGraph 构建和部署大规模图嵌入的完整教程

当涉及到图数据时&#xff0c;复杂性是不可避免的。无论是社交网络中的庞大互联关系、像 Freebase 这样的知识图谱&#xff0c;还是推荐引擎中海量的数据量&#xff0c;处理如此规模的图数据都充满挑战。 尤其是当目标是生成能够准确捕捉这些关系本质的嵌入表示时&#xff0c;…

国标GB28181视频平台EasyCVR视频融合平台H.265/H.264转码业务流程

在当今数字化、网络化的视频监控领域&#xff0c;大中型项目对于视频监控管理平台的需求日益增长&#xff0c;特别是在跨区域、多设备、高并发的复杂环境中。EasyCVR视频监控汇聚管理平台正是为了满足这些需求而设计的&#xff0c;它不仅提供了全面的管理功能&#xff0c;还支持…

2411rust,正与整128

原文 长期以来,Rust在x86-32和x86-64架构上128位整数的对齐与C语言不一致.最近已解决此问题,但该修复带来了一些值得注意的效果. 作为用户,除非如下,否则不用担心: 1,假设i128/u128对齐,而不是用align_of 2,忽略improper_ctypes*检查,并在FFI中使用这些类. 除x86-32和x86-64…

C语言实现程序执行时间打印

一.概述 程序执行时间打印是优化程序的的重要手段&#xff0c;本文为用c接口实现打印时间的三种方法。本文程序均在qt5.12环境测试验证。 二.测试代码 1.方法一 使用 time() 测量秒数 #include <stdio.h> #include <time.h> int main() { // 获取操作前的当前时…