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

2025年7月25日训练日志

挖沟

最小生成树模板

#include <bits/stdc++.h>
#define int long long
#define endl "\n"
#define FAST ios::sync_with_stdio(false),cin.tie(0), cout.tie(0);
const int inf = 0x3f3f3f3f;
const int N = 5e5 + 10;
using namespace std;int n, m;
vector<pair<int, int>> e[N];
int d[N];
bool vis[N];
priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>>q;void prim(int s){for(int i=0;i<=n;i++){d[i] = inf;vis[i] = false;}d[s] = 0;q.push({0,s});int ans = 0;while(!q.empty()){auto [dist,u] = q.top();q.pop();if(vis[u]) continue;vis[u] = true;ans += dist;for(auto [v,w] : e[u]){if(d[v] > w){d[v] = w;q.push({d[v],v});}}}cout<<ans;
}void solve() {cin >> n >> m;for(int i = 0; i < m; i++) {int a, b, w;cin >> a >> b >> w;e[a].push_back({b, w});e[b].push_back({a, w});}prim(1);
}signed main() {FASTint t = 1;//cin >> t;while(t--)solve();return 0;
}

 道路建设

最小生成树模板,判断费用是否不大于c以及是否能构成最小生成树 

#include <bits/stdc++.h>
#define ll long long
#define int long long
#define endl "\n"
#define FAST ios::sync_with_stdio(false),cin.tie(0), cout.tie(0);
const int inf = 0x3f3f3f3f;
const int N = 1e4 + 10;
const int MOD = 1e9+7;
const int mod = 998244353;
using namespace std;int c,n,m;
vector<pair<int,int>>e[N];
int d[N],vis[N];bool prim(int s){int ans = 0,cnt = 0;for(int i=0;i<=n;i++){d[i] = inf;vis[i] = 0;}priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>>q;q.push({0,s});d[s] = 0;while(q.size()){auto [di,u] = q.top();q.pop();if(vis[u]) continue;vis[u] = 1;ans += di;cnt++;for(auto [v ,w] : e[u]){if(d[v] > w){d[v] = w;q.push({d[v],v});}}}return ans<=c&&cnt==m;
}void solve(){while(cin>>c>>n>>m){for(int i=0;i<=N;i++)e[i].clear();for(int i=1;i<=n;i++){int v,w,h;cin>>v>>w>>h;e[v].push_back({w,h});e[w].push_back({v,h});}if(prim(1)) cout<<"Yes"<<endl;else cout<<"No"<<endl;}}signed main() {FASTint t = 1;//cin>>t;while(t--)solve();return 0;
}

 204. 计数质数 - 力扣(LeetCode)

线性筛模板 

#define ll long long 
class Solution {
public:int countPrimes(int n) {vector<int>isp(n,1);int ans = 0;for(int i=2;i<n;i++){if(isp[i]){ans ++;if((ll) i * i < n){for(int j = i * i;j<n;j+=i){isp[j] = 0;}}}}return ans;}
};

 3591. 检查元素频次是否为质数 - 力扣(LeetCode)

欧拉筛预处理,然后用unordered_map存次数来判断

class Solution {
public:bool checkPrimeFrequency(vector<int>& nums) {int n = nums.size();vector<int>ip(n+1,1);ip[1] = 0;for(int i=2;i<n+1;i++){if(ip[i]){if((long long)i * i < n+1){for(int j = i*i;j<n+1;j+=i){ip[j] = 0;}}}}unordered_map<int,int>cnt;for(int x : nums){cnt[x] ++;}for(auto& [_,cn] : cnt){if(ip[cn]){return true;}}return false;}
};

 2761. 和等于目标值的质数对 - 力扣(LeetCode)

 线性筛预处理然后从2开始枚举到n/2就可以

class Solution {
public:vector<vector<int>> findPrimePairs(int n) {vector<int>ip(n+1,1);ip[1] = 0;for(int i=2;i<n+1;i++){if(ip[i]){if((long long)i * i < n+1){for(int j = i*i;j<n+1;j+=i){ip[j] = 0;}}}}vector<vector<int>>ans;for(int i=2;i<=n/2;i++){if(ip[i] && ip[n-i]){ans.push_back({i,n-i});}}return ans;}
};

 3233. 统计不是特殊数字的数字数量 - 力扣(LeetCode)

  很容易发现如果某个数是质数的平方数的话,那他就是特殊数,因此我们判断质数的时候就可以顺带减掉质数的平方数。

由上述可知我们判断质数的范围N只需要到sqrt(r)!!!

class Solution {
public:int nonSpecialCount(int l, int r) {int N = sqrt(r)+1;vector<int>is(N+1,1);//is[1] = 0;int res = r - l + 1;for(int i=2;i<=N;i++){if(is[i]){if(i * i >=l && i * i <= r){res--;}for(int j = i*i;j<=N;j+=i){is[j] = 0;}}}return res;}
};

 

http://www.lryc.cn/news/599284.html

相关文章:

  • Elasticsearch-8.17.0 centos7安装
  • Flink 自定义类加载器和子优先类加载策略
  • 第一章:Go语言基础入门之流程控制
  • k8s-MongoDB 副本集部署
  • 呼叫中心系统管理权限功能配置
  • gig-gitignore工具实战开发(四):使用ai辅助生成gitignore
  • 熵与交叉熵:从信息论到机器学习的「不确定性」密码
  • 有关于k8s中的CSI和CRI的有关知识
  • [硬件电路-85]:一款高集成度热电制冷器(TEC)控制器芯片ADN8835ACPZ
  • 【Docker项目实战】在Docker环境下部署go-file文件分享工具
  • SaaS型小程序自动化发布解决方案
  • 飞行控制领军者 | 边界智控携高安全级飞控系统亮相2025深圳eVTOL展
  • 大型微服务项目:听书——11 Redisson分布式布隆过滤器+Redisson分布式锁改造专辑详情接口
  • 巧用Proxy与异步编程:绕过浏览器安全限制实现文件选择器触发
  • 秋招Day19 - 分布式 - 分布式锁
  • 线性代数 下
  • 关于回归决策树CART生成算法中的最优化算法详解
  • 机器学习笔记(三)——决策树、随机森林
  • 水库大坝安全监测的主要内容
  • 在VSCode配置Java开发环境的保姆级教程(适配各类AI编程IDE)
  • 【内网穿透】使用FRP实现内网与公网Linux/Ubuntu服务器穿透项目部署多项目穿透方案
  • SSSD介绍
  • 【阅读整理】野火ADC_AD7192模块资料
  • “即时零售”风起,E3+企业中台如何赋能品牌企业破局增长?
  • CIU32L051 DMA+Lwrb环形队列实现串口无阻塞性数据的收发 + 数据百分百不丢失的实现
  • 百度蜘蛛池解析机制:原创
  • 通用CI/CD软件平台TeamCity v2025.3全新发布——主要界面交互体验升级
  • AWS CAF:企业云转型的战略指南
  • 佳能iR-ADV C5560复印机如何扫描文件到电脑
  • 零售收银系统开源代码全解析:连锁门店一体化解决方案(含POS+进销存+商城)