2022CCPC绵阳 ACGHM

Dashboard - 2022 China Collegiate Programming Contest (CCPC) Mianyang Onsite - Codeforces

C.Catch You Catch Me

题意

思路

首先注意到贡献可以按深度统计,对于每个深度dep,贡献是在dep深度中属于的子树种类数,如果在该深度中子树存在点,那么该子树的贡献就要 + 1

然后发现这样不好统计,那么考虑对于结点1的每一棵子树去统计贡献

对于每一棵子树,贡献就是该子树最深深度 + 1

#include <bits/stdc++.h>#define int long longconstexpr int N = 2e5 + 10;
constexpr int mod = 1e9 + 7;std::vector<int> adj[N];int n;
int res = 0;void dfs(int u, int dep, int fa) {res = std::max(res, dep);for (auto v : adj[u]) {if (v == fa) continue;dfs(v, dep + 1, u);}
}
void solve() {std::cin >> n;for (int i = 1; i <= n - 1; i ++) {int u, v;std::cin >> u >> v;adj[u].push_back(v);adj[v].push_back(u);}int ans = 0;for (auto v : adj[1]) {res = 0;dfs(v, 1, 1);ans += res;}std::cout << ans << "\n";
}
signed main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t = 1;while(t --) {solve();}return 0;
}

G. Let Them Eat Cake

思路

注意到每一轮都是较小的那个数被删除,因此每次会删至少一半的数,因此轮数一定很少,暴力模拟即可

#include <bits/stdc++.h>void solve(){int n;std::cin >> n;std::vector<int> a(n);for(int i = 0; i < n; i ++) {std::cin >> a[i];}std::vector<int> cur;int num = 0;int L = n;while(L > 1){num ++;cur = std::vector<int>();for(int i = 0; i < a.size(); i ++) {if(i == 0 && a[i] > a[i + 1]) cur.push_back(a[i]); else if(i == n - 1 && a[i] > a[i - 1]) cur.push_back(a[i]); else if(a[i] > a[i + 1] && a[i] > a[i - 1]) {cur.push_back(a[i]);}}L = cur.size();a = cur;}std::cout << num << "\n";
}
signed main(){std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t = 1;while(t --) {solve();}return 0;
}

H.Life is Hard and Undecidable, but...

题意

思路

直接对角线构造即可

#include <bits/stdc++.h>void solve(){int n;std::cin >> n;std::cout << 2 * n - 1 << "\n";for (int i = 1; i < 2 * n; i ++) {std::cout << i << " " << i << "\n";}
}
signed main(){std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t = 1;while(t --) {solve();}return 0;
}

A. Ban or Pick, What's the Trick

思路

注意到我们不论是选自己的还是禁用对方的,操作的数一定是最大值,因此一定要从大到小排序

注意到选的数>= k了之后不能再选数

注意到k <= 10,因此状态数不会很多

考虑DP,看看状态数会有多少

设dp(x, i, j)为,已经进行了x轮,A选了i个数,B选了j个数,的最大得分差(这里指A - B)

状态数为 1e5 * 10 * 10,很够,因此一定就是这个做法

记忆化所有比较好写,我们去考虑记忆化搜索

先看代码

#include <bits/stdc++.h>#define int long longconstexpr int N = 2e5 + 10;
constexpr int mod = 998244353;
constexpr int Inf = 1e18;int n, k;
int a[N], b[N];
int dp[N][12][12];int dfs(int tot, int cnta, int cntb) {if (tot == 2 * n) return 0;if (dp[tot][cnta][cntb] != -Inf) return dp[tot][cnta][cntb];int ra = cnta + tot / 2 - cntb;int rb = cntb + (tot + 1) / 2 - cnta;if (tot % 2) {int res = Inf;if (cntb < k && ra + rb <= 2 * n) res = std::min(res, dfs(tot + 1, cnta, cntb + 1) - b[rb + 1]);res = std::min(res, dfs(tot + 1, cnta, cntb));return dp[tot][cnta][cntb] = res;}else {int res = -Inf;if (cnta < k && ra + rb <= 2 * n) res = std::max(res, dfs(tot + 1, cnta + 1, cntb) + a[ra + 1]);res = std::max(res, dfs(tot + 1, cnta, cntb));return dp[tot][cnta][cntb] = res;}
}
void solve(){std::cin >> n >> k;for (int i = 1; i <= n; i ++) {std::cin >> a[i];}for (int i = 1; i <= n; i ++) {std::cin >> b[i];}std::sort(a + 1, a + 1 + n, std::greater<int>());std::sort(b + 1, b + 1 + n, std::greater<int>());for (int i = 0; i <= 2 * n; i ++) {for (int j = 0; j <= k; j ++) {for (int l = 0; l <= k; l ++) {dp[i][j][l] = -Inf;}}}std::cout << dfs(0, 0, 0) << "\n";
}
signed main(){std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t = 1;while(t --) {solve();}return 0;
}

 记忆化搜索有几个要点:

1.出口:就是轮数到达最多轮数的时候是出口,即 tot == 2 * n

2.return dp

3.考虑决策,描述出目标状态

第3点最为重要,决策需要分类讨论当前是A操作还是B操作

如果是A操作,决策就是选一个a或者禁用一个b,如果是B操作,决策就是选一个b或者禁用一个a

M. Rock-Paper-Scissors Pyramid
 

题意

 

思路

 

#include <bits/stdc++.h>bool check(char x, char y) {if (x == y) return true;if (x == 'R') return y == 'P';if (x == 'S') return y == 'R';if (x == 'P') return y == 'S';return false;
}
void solve(){std::string s;std::cin >> s;int n = s.size();std::stack<char> S;S.push(s[0]);for (int i = 1; i < s.size(); i ++) {while(!S.empty() && check(S.top(), s[i])) S.pop();S.push(s[i]);}while (S.size() > 1) S.pop();std::cout << S.top() << "\n";
}
signed main(){std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t = 1;std::cin >> t;while(t --) {solve();}return 0;
}

 

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

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

相关文章

PLC电力载波通讯,一种新的IoT通讯技术

前言: PLC-IoT 是 PLC 技术应用在物联场景的创新实践,有效解决电力线路信号干扰、衰减问题,支持 IP 化通信能力,使能终端设备智能化,构建智慧边缘联接。PLC让传统IoT有了更多的连接可能: 电力线通信技术适用的场景包括电力配用电网络、城市智慧路灯、交通路口信号灯、园…

HackTheBox-Starting Point--Tier 2---Archetype

文章目录 一 Archetype测试过程1.1 打点1.2 权限获取1.3 权限提升 二 题目 一 Archetype测试过程 1.1 打点 1.端口扫描 nmap -sV -sC 10.129.192.2522.枚举SMB共享 smbclient -N -L \\\\10.129.192.252\\查看backups&#xff0c;并发现 prod.dtsConfig 文件&#xff0c;在 p…

数据结构:反射

基本概念 反射中的四个类 Class类 Java文件在被编译之后&#xff0c;生成了.class文件&#xff0c;JVM此时解读.class文件&#xff0c;将其解析为java.lang.Class 对象&#xff0c;在程序运行时每个java文件就最终变成了Class类对象的一个实例。通过反射机制应用这个 实例就…

颠覆了!eShop跟随.Net 8迎来重磅升级,微服务架构与GPT的完美结合!

.Net 8正式发布了&#xff0c;发布了诸多重大的新功能、新特性&#xff01; .Net 8新增的功能带来诸多惊喜&#xff0c;还未一一体验完毕呢&#xff0c;我又发现了跟随.Net 8的发布&#xff0c;eShop也迎来重磅升级&#xff01; eShop一直以来都是微软官方提供的&#xff0c;…

Istio学习笔记- 服务网格

Istio 服务网格 参考&#xff1a;Istio / Istio 服务网格 Istio 使用功能强大的 Envoy 服务代理扩展了 Kubernetes&#xff0c;以建立一个可编程的、可感知的应用程序网络。Istio 与 Kubernetes 和传统工作负载一起使用&#xff0c;为复杂的部署带来了标准的通用流量管理、遥…

ARM PMU

PMU单元概览 ARM PMU概要 PMU作为一个扩展功能&#xff0c;是一种非侵入式的调试组件。 对PMU寄存器的访问可以通过CP15协处理器指令和Memory-Mapped地址。 基于PMUv2架构&#xff0c;A7处理器在运行时可以收集关于处理器和内存的各种统计信息。对于处理器来说这些统计信息中…

java计算两个字符串日期相隔天数

java计算两个字符串日期相隔天数 public static void main(String[] args) throws ParseException {Scanner sc new Scanner(System.in);System.out.print("请输入计算开始的日期(yyyy-MM-dd):");String startTime sc.next();System.out.print("请输入计算结…

OpenAI暂停ChatGPT Plus新用户注册;迷宫与图神经网络

&#x1f989; AI新闻 &#x1f680; OpenAI暂停ChatGPT Plus新用户注册&#xff0c;考虑用户体验 摘要&#xff1a;OpenAI决定暂停ChatGPT Plus新用户注册&#xff0c;以应对开发日后使用量激增带来的压力&#xff0c;确保每个人都能享受良好的体验。根据调查机构Writerbudd…

2023.11.14 hivesql的容器,数组与映射

目录 https://blog.csdn.net/m0_49956154/article/details/134365327?spm1001.2014.3001.5501https://blog.csdn.net/m0_49956154/article/details/134365327?spm1001.2014.3001.5501 8.hive的复杂类型 9.array类型: 又叫数组类型,存储同类型的单数据的集合 10.struct类型…

csrf学习笔记总结

跨站请求伪造csrf csrf概述 掌握CSRF 漏洞原理 掌握CSRF 漏洞场景 掌握CSRF 漏洞验证 csrf原理 ​ 跨站请求伪造&#xff08;Cross Site Request Forgery&#xff0c;CSRF&#xff09;是一种攻击&#xff0c;它强制浏览器客户端用户在当前对其进行身份验证后的Web 应用程…

Sql Prompt 10下载安装图文教程

在操作过程中&#xff0c;请暂时关闭你的防病毒软件&#xff0c;以免其误报导致操作失败。 资源 SQL Prompt 10 https://www.aliyundrive.com/s/QuMWkvE1Sv6 点击链接保存&#xff0c;或者复制本段内容&#xff0c;打开「阿里云盘」APP &#xff0c;无需下载极速在线查看&…

使用CXF调用WSDL(二)

简介 本篇文章主要解决了上篇文章中遗留的对象嵌套问题&#xff0c;要想全面解析无限极的对象嵌套需要使用递归去解决 上文链接&#xff1a; 使用CXF调用WSDL&#xff08;一&#xff09; 上文回顾 上文使用了单方法“ call() ”解决了List和基本类型&#xff08;含String&…

Nginx反向代理与负载均衡与504错误

Nginx反向代理与负载均衡概念简介 关于代理 什么是代理 类似中介 在没有代理模式的情况下&#xff0c;客户端和Nginx服务端&#xff0c;都是客户端直接请求服务端&#xff0c;服务端直接响应客户端。 那么在互联网请求里面&#xff0c;客户端往往无法直接向服务端发起请求…

使用jmeter+ant进行接口自动化测试(数据驱动)

本次接着介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告 ①下载安装 apache-ant-1.9.9&#xff0c;配置环境变量 如下方式检验安装成功 ②安装好ant后&#xff0c;把jmeter中extras目录下的ant-jmeter-1.1.1.jar 文件copy到ant安装目录下的lib文件夹中 ③配置ant…

Python中带图例的条形图的具体画法和参数调节

首先如上图所示的图是如何画出来的呢&#xff0c;它主要是分三个部分&#xff0c; 首先第一部分是将四个单独的图按照横轴的方式叠加起来&#xff0c;第二部分是如何调节右上角图例的位置和大小&#xff0c;第三部分是标注出整个横轴和竖轴的坐标并调节字体的大小。 一.将四个…

基于vue 2.0的H5页面中使用H5自带的定位,高德地图定位,搜索周边商户,覆盖物标记,定位到当前城市

基于vue的H5页面中使用高德地图定位&#xff0c;搜索周边商户&#xff0c;覆盖物标记 首先安装高德地图插件 npm i amap/amap-jsapi-loader --save地图承载容器 <template><div id"container"></div> </template>地图容器样式 <style…

利用Nextcloud搭建企业私有云盘系统

利用Nextcloud搭建企业私有云盘系统 1. 场景介绍2. 环境准备3. 安装NextCloud4. 系统功能验证 1. 场景介绍 Nextcloud是一款免费开源的私有云存储系统&#xff0c;采用PHPMySQL开发&#xff0c;提供了多个同步客户端支持多种设备访问&#xff0c;使用Nextcloud可以快速便捷地搭…

OpenCV必知必会基础3(包括色彩空间的变换、ROI、OpenCV中最重要的结构体Mat以及获取图像的属性)

文章目录 OpenCV的色彩空间——RGB与BGROpenCV的色彩空间——HSV与HSLHSV主要用于OpenCV中HSL OpenCV色彩空间转换YUV主要用于视频中题目 图像操作的基石Numpy【基础操作】np.arraynp.zerosnp.onesnp.fullnp.identitynp.eye Numpy基本操作之矩阵的检索与赋值Numpy基本操作三——…

腾讯待办是什么?关停之后如何继续提醒待办事项?

由于业务方向调整&#xff0c;腾讯待办将于2023年的12月20日全面停止运营并下架。那么腾讯待办是什么呢&#xff1f;它是一款以微信小程序呈现的待办事项和日程管理工具&#xff0c;旨在帮助用户更好地管理自己的待办事项和日程安排。用户可以在该小程序中创建待办事项、设置提…

前三季度亏损近亿元,「缺钱」的北斗智联拟变更控股股东

本月初&#xff0c;北斗星通发布《关于深圳证券交易所重组问询函回复的公告》&#xff0c;针对公司全资子公司拟出售孙公司北斗星通智联科技有限责任公司&#xff08;以下简称北斗智联&#xff09; 15%的股权事宜做出进一步解读。 按照此前计划&#xff0c;15%的股权&#xff0…