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

2024CAIP省赛


title: 2024CAIP省赛
date: 2024-07-16 22:13:50
tags: 总结
categories: 比赛

文章目录

      • RC-u1 热҈热҈热҈
        • 思路
      • RC-u2 谁进线下了?
        • 思路
      • RC-u3 暖炉与水豚
        • 思路
      • RC-u4 章鱼图的判断
        • 思路
        • 代码
      • RC-u5 工作安排
        • 思路

总结写在前面,就一句话

状态的保持胜过少女的娇羞

RC-u1 热҈热҈热҈

思路

按题意,大于35的,判断是否为星期四,统计数量即可

RC-u2 谁进线下了?

思路

按题意模拟即可。

RC-u3 暖炉与水豚

思路

枚举每一个暖炉,将合法的水豚标记,最后会剩一个不合法的,然后搜索这个不合法的水豚周围3x3,记录合法的隐藏的位置

RC-u4 章鱼图的判断

思路

建无向图,记录每个点的度,拓扑去每个环的枝条,最后枚举每一个环,有一种特殊情况,就是多环共点,这个情况是需要去除。

代码
vector<int> g[N];
int d[N];
int cnt,ans;
int n,m;//搜环
void dfs(int x){d[x] = 0;for(auto v : g[x]){if(d[v]){dfs(v);cnt ++;}}
}
//tuopu去支
void DAG()
{queue<int> q;for(int i = 1; i <= n ; i ++){if(d[i] == 1){q.push(i);}}while(!q.empty()){int t = q.front();q.pop();d[t] --;for(auto v : g[t]){d[v] --;if(d[v] == 1){q.push(v);}}}
}
void solve(){cin >> n >> m;memset(d,0,sizeof d);for(int i = 1; i <= m ; i ++){int u,v;cin >> u >> v;g[u].push_back(v);g[v].push_back(u);d[u] ++,d[v] ++;}DAG();//多环一点情况下,4 2 2,去除该情况for(int i = 1; i <= n; i ++){if(d[i] && d[i] != 2){dfs(i);}}ans = cnt = 0;//for(int i = 1 ; i <= n; i ++){if(d[i] == 2){cnt = 1;dfs(i);ans ++;}}if(ans == 1) cout << "Yes " << cnt << "\n";else cout << "No " << ans << "\n";for(int i = 1; i <= n ; i ++){g[i].clear();}}
int main()
{int t; cin >> t;while(t --) solve();return 0;
}

RC-u5 工作安排

思路

题意可以转换为01背包,这是一个典型的01背包模型。外循环枚举事件,内循环枚举体积,最后遍历求最大值即可。

void solve()
{int n;cin >> n;vector<array<int,3>> vec(n + 1);for(int i = 1; i <= n ; i ++){int t,d,p;cin >> t >> d >> p;vec[i] = {d,t,p};}sort(vec.begin() + 1,vec.end());vector<int> l(n + 1),v(n + 1),w(n + 1);for(int i = 1; i <= n ;  i++){l[i] = vec[i][0];v[i] = vec[i][1];w[i] = vec[i][2];}vector<int> dp(5050);for(int i = 1;i <= n ; i ++){for(int j = 5000; j >= 0; j --){if(j >= v[i] && j <= l[i]){dp[j] = max(dp[j - v[i]] + w[i],dp[j]);}}}ll maxx = 0;for(int i = 1; i <= 5000; i ++) maxx = max(maxx,dp[i]);cout << maxx << endl;
}
signed main()
{int t; t = 1;cin >> t;while(t --){solve();}return 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【吊打面试官系列-ZooKeeper面试题】简述 Zookeeper 文件系统?
  • 安全运营概述
  • 【学习】美国虚拟信用卡申请流程
  • 【解决】多个网卡导致nacos注册的服务ip有误问题
  • Java-排序~查找算法
  • Qt会议室项目
  • 景区导航导览系统:基于AR技术+VR技术的功能效益全面解析
  • RocketMQ实现分布式事务
  • vst 算法R语言手工实现 | Seurat 筛选高变基因的算法
  • 优化Python爬虫:多线程助力数据采集高速通道
  • vue仿甘特图开发工程施工进度表
  • openeuler 终端中文显示乱码、linux vim中文乱码
  • Billu_b0x靶机
  • Hadoop中的YARN组件
  • 计算机网络——网络层(IP地址与MAC地址、地址解析协议ARP、IP数据报格式以及转发分组、ICMP、IPV6)
  • angular组件开发
  • JavaScript HTML DOM
  • JavaScript设计模式之工厂模式
  • java概述
  • node 版本过低
  • PermissionScope Swift4 兼容问题
  • PHP 的 SAPI 是个什么东西
  • python_bomb----数据类型总结
  • Python学习之路16-使用API
  • storm drpc实例
  • ------- 计算机网络基础
  • 记录一下第一次使用npm
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端js -- this指向总结。
  • 如何胜任知名企业的商业数据分析师?
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用agvtool更改app version/build
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • hi-nginx-1.3.4编译安装
  • #Lua:Lua调用C++生成的DLL库
  • #知识分享#笔记#学习方法
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (备份) esp32 GPIO
  • (算法)前K大的和
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET 中 GetProcess 相关方法的性能
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .Net实现SCrypt Hash加密
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • @Transactional 详解
  • [100天算法】-目标和(day 79)
  • [ABC294Ex] K-Coloring
  • [Android]使用Android打包Unity工程
  • [autojs]autojs开关按钮的简单使用
  • [C#]使用OpenCvSharp图像滤波中值滤波均值滤波高通滤波双边滤波锐化滤波自定义滤波
  • [CLIP-VIT-L + Qwen] 多模态大模型源码阅读 - 视觉模型篇
  • [java][SSM]整合Mybatis3、Spring4 和 SpringMVC4 的步骤