第一周训练

第1周

树形dp:

[POI2013] LUK-Triumphal arch - 洛谷

[USACO08JAN] Cell Phone Network G - 洛谷 //相邻点

战略游戏 - 洛谷 //覆盖边

[POI2014] HOT-Hotels - 洛谷 //实际上这个是考虑每个节点,根据每个相邻节点不同分支进行考虑

[USACO17DEC] Barn Painting G - 洛谷 //dp方案数,乘法原理

[HNOI2014] 米特运输 - 洛谷 //这个思路挺巧妙,考虑结果的规律,然后进行筛选,注意哈希冲突。

[蓝桥杯 2021 省 A] 左孩子右兄弟 - 洛谷 dfs即可

[POI2014] FAR-FarmCraft - 洛谷 好题,分类讨论一下,发现贪心选择安装时间长的即可

[蓝桥杯 2018 国 A] 采油 - 洛谷 模拟考虑一下即可,由于可以随便空运于是我们可以考虑

[ZJOI2007] 时态同步 - 洛谷 统计以该节点为根的子树的最大值即可。

[HAOI2009] 毛毛虫 - 洛谷 //树的直径

[POI2011] DYN-Dynamite - 洛谷 //二分+树形dp,转化为最小点集覆盖

[USACO12FEB] Nearby Cows G - 洛谷 //两遍dfs,第一遍预处理,第二遍计算结果

四边形不等式优化DP

石子合并(弱化版) - 洛谷 //石子合并+四边形不等式优化

2-SAT:

将或问题转化为 必然后续问题;

下面有几个点需要知道:

1.同一条链必然存在反链;所以如果a同时取0和1,那么将在同一个联通块中;

2.选择某条链的点,其后续节点一定选上;这个后续节点都选上实际上是拓扑排序的体现;

【模板】2-SAT - 洛谷

SAT模版:

 #include<iostream>#include<cstring>using namespace std;const int N=2*1e6+10;int h[N], e[N], ne[N], idx; //邻接表int dnf[N],stak[N];bool instak[N];int low[N],id[N],cnt;int times;int top;void add(int a, int b) //添加边{e[idx] = b, ne[idx] = h[a], h[a] = idx++;}void tarjan(int u){dnf[u]=low[u]=++times;instak[u]=true;stak[++top]=u;for(int i=h[u]; ~i; i=ne[i]){int v=e[i];if(!dnf[v]){tarjan(v);low[u]=min(low[u],low[v]);}else if(instak[v]){low[u]=min(low[u],dnf[v]);}}if(dnf[u]==low[u]){++cnt;int y;do{y=stak[top--];instak[y]=false;id[y]=cnt;}while(y!=u);}}​int main(){std::ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);​int n,m;cin>>n>>m;memset(h,-1,sizeof h);while(m--){int i,j,a,b;cin>>i>>a>>j>>b;i--;j--;add(2*i+!a,2*j+b);add(2*j+!b,2*i+a);}for(int i=0; i<2*n; i+=2){if(!dnf[i+1]){tarjan(1+i);}if(!dnf[i]){tarjan(i);}}for(int i=0; i<n; i++){if(id[2*i]==id[2*i+1]){cout<<"IMPOSSIBLE"<<endl;return 0;}}cout<<"POSSIBLE"<<endl;for(int i=0; i<n; i++){if(id[2*i]<id[2*i+1])cout<<"0"<<' ';else cout<<"1"<<' ';}return 0;}

tarjian

关于讨论为什么是 low[u]=min(low[u],dnf[v]);

而不是 low[u]=min(low[u],low[v]);

https://www.luogu.com/article/g5rh9ro2

981div3(切6题)

https://codeforces.com/contest/2033/problem/A //模拟即可

https://codeforces.com/contest/2033/problem/B //注意到只需要主对角线,记录主对角线的最小值即可

https://codeforces.com/contest/2033/problem/C //注意到对称的关系,当不相等时交换有效,对于i-1,如果存在贡献就切断,同时swap,将这个swap的影响给到i+1,因为当i和i+1同时调换时,相当于原本的关系。最后影响传递到中间的值。

https://codeforces.com/contest/2033/problem/D //贪心求出能选i就选i,线性处理即可

https://codeforces.com/contest/2033/problem/E //注意到交换两个数最多使得4个数不再处理;然后根据数与数之间的一一对应关系,可以知道直接交换即可;

F不太清楚结论,裴波拉契序列k倍数循环;

https://codeforces.com/contest/2033/problem/G //一开始以为向下走消耗体力,用了离线查询+两颗线段树查询区间最大值;

后面发现是向上走消耗体力,还是离线+线段树维护最大值;nlogn的复杂度

982div2(5题);

https://codeforces.com/contest/2027/problem/A //贪心放在第一个

https://codeforces.com/contest/2027/problem/B //找到比i大的数的个数+i;

https://codeforces.com/contest/2027/problem/C //c并查集不可行;考虑从大到小排序,然后进行连通性转移;

https://codeforces.com/contest/2027/problem/D1 //dp[i]表示前i个的最小成本

https://codeforces.com/contest/2027/problem/D2 //取模有点难,wa3;

at377(7题)

A - Rearranging ABC //模拟

B - Avoid Rook Attack //枚举

C - Avoid Knight Attack //枚举8个方位,nlogn去重

D - Many Segments 2 //注意到l,r可以,那么l+1,r也可以这个事实;考虑枚举r,然后dp转移

E - Permute K times 2 //注意到一一对应关系,判环即可;

F - Avoid Queen Attack //考虑容斥原理

G - Edit to Match //考虑字典树维护,f数组进行dp

总结:

这周出去三天打了ccsp,有点遗憾,只拿了铜奖;如果没有理解错题意的旋转,就不会被硬控8h,导致上头没有做后面的系统题;

加强训练,注意分配时间。

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

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

相关文章

Kaggle比赛复盘

Kaggle - LLM Prompt Recovery 解决方案报告 比赛背景/目标 大型语言模型&#xff08;Large Language Models&#xff0c;LLMs&#xff09;通常被用于改写或对文本进行风格修改。本次Kaggle竞赛的目标是根据给定的改写文本&#xff0c;还原用于将原始文本转换为改写文本的LLM…

MetaArena推出《Final Glory》:引领Web3游戏技术新风向

随着区块链技术的日益成熟&#xff0c;Web3游戏成为了游戏产业探索的新方向&#xff0c;将去中心化经济与虚拟世界结合在一起&#xff0c;形成了一个全新的生态体系。然而&#xff0c;尽管Web3游戏展示了令人兴奋的可能性&#xff0c;但其背后的技术障碍依旧严峻&#xff0c;特…

Android Activity SingleTop启动模式使用场景

通知栏 当用户点击通知栏中的通知时,可以使用单顶启动模式来打开对应的活动,并确保只有一个实例存在。 简单集成极光推送 创建应用 获取appkey参数 切换到极光工作台 极光sdk集成 Project 根目录的主 gradle 配置 Module 的 gradle 配置 Jpush依赖配置 配置推送必须…

华为原生鸿蒙操作系统:我国移动操作系统的新篇章

华为原生鸿蒙操作系统&#xff1a;我国移动操作系统的新篇章 引言 在移动操作系统领域&#xff0c;苹果iOS和安卓系统一直占据主导地位。然而&#xff0c;随着华为原生鸿蒙操作系统的正式发布&#xff0c;这一格局正在发生深刻变化。作为继苹果iOS和安卓系统后的全球第三大移动…

Python酷库之旅-第三方库Pandas(170)

目录 一、用法精讲 781、pandas.arrays.IntervalArray.contains方法 781-1、语法 781-2、参数 781-3、功能 781-4、返回值 781-5、说明 781-6、用法 781-6-1、数据准备 781-6-2、代码示例 781-6-3、结果输出 782、pandas.arrays.IntervalArray.overlaps方法 782-1…

shodan3,vnc空密码批量连接,ip历史记录查找

shodan语法&#xff0c;count&#xff0c;honeyscore count 今天带大家继续学习shodan&#xff0c;今天会带大家学一学这个count命令&#xff0c;再学学其他小命令好其实关键命令也没那么多&#xff0c;就是很方便记忆一下就学会了这样子。 shodan count "/x03/x00/x00…

Docker下载途径

Docker不是Linux自带的&#xff0c;需要我们自己安装 官网&#xff1a;https://www.docker.com/ 安装步骤&#xff1a;https://docs.docker.com/engine/install/centos/ Docker Hub官网(镜像仓库)&#xff1a;https://hub.docker.com/ 在线安装docker 先卸载旧的docker s…

JMeter实战之——模拟登录

本篇介绍使用JMeter 如何对需要登录的站点进行压力测试。 基本Session验证的机制 使用session进行请求验证的机制是一种常见的Web应用认证方式。 该认证方式的主要内容如下&#xff1a; 一、登录过程 用户输入&#xff1a;用户在登录页面输入用户名和密码。发送请求&#x…

JDBC: Java数据库连接的桥梁

什么是JDBC&#xff1f; Java数据库连接&#xff08;Java Database Connectivity&#xff0c;简称JDBC&#xff09;是Java提供的一种API&#xff0c;允许Java应用程序与各种数据库进行交互。JDBC提供了一组标准的接口&#xff0c;开发者可以利用这些接口执行SQL语句、处理结果集…

XQT_UI 组件|02| 按钮 XPushButton

XPushButton 使用文档 简介 XPushButton 是一个自定义的按钮类&#xff0c;基于 Qt 框架构建&#xff0c;提供了丰富的样式和功能选项。它允许开发者轻松创建具有不同外观和行为的按钮&#xff0c;以满足用户界面的需求。 特性 颜色设置&#xff1a;支持多种颜色选择。样式设…

Python之Excel自动化处理(三)

一、Excel数据拆分-xlrd 1.1、代码 import xlrd from xlutils.copy import copydef get_data():wb xlrd.open_workbook(./base_data/data01.xlsx)sh wb.sheet_by_index(0){a: [{},{},{}],b:[{},{},{}],c:[{},{},{}],}all_data {}for r in range(sh.nrows):d {type:sh.cell…

css知识点梳理2

1. 选择器拓展 在 CSS 中&#xff0c;可以根据选择器的类型把选择器分为基础选择器和复合选择器&#xff0c;复合选择器是建立在基础选择器之上&#xff0c;对基本选择器进行组合形成的。 ​ 复合选择器是由两个或多个基础选择器&#xff0c;通过不同的方式组合而成的&#xf…

《a16z : 2024 年加密货币现状报告》解析

加密社 原文链接&#xff1a;State of Crypto 2024 - a16z crypto译者&#xff1a;AI翻译官&#xff0c;校对&#xff1a;翻译小组 当我们两年前第一次发布年度加密状态报告的时候&#xff0c;情况跟现在很不一样。那时候&#xff0c;加密货币还没成为政策制定者关心的大事。 比…

服务器数据恢复—EXT3文件系统下邮件数据被误删的数据恢复案例

服务器数据恢复环境&#xff1a; 邮件服务器中有一组由8块盘组成的RAID5阵列, 上层是Linux操作系统EXT3文件系统。 服务器故障&#xff1a; 由于误删除导致文件系统中的邮件数据丢失。 服务器数据恢复过程&#xff1a; 1、将故障服务器中所有硬盘做好标记后取出&#xff0c;硬…

Python实现Android设备录屏功能及停止录屏功能

1、功能概述&#xff1f; 提供源码下载 之前通过ADB命令实现了实时的录屏功能。但是很遗憾&#xff0c;虽然通过adb命令录屏非常方便&#xff0c;但由于权限限制&#xff0c;无法在安卓系统较高的设备上使用。现选择使用另一开源工具来解决这一问题&#xff0c;并记录使用详细…

pytorh学习笔记——cifar10(六)MobileNet V1网络结构

基础知识储备&#xff1a; 一、深度可分离卷积&#xff08;Depthwise Separable Convolution&#xff09; MobileNet的核心是深度可分离卷积&#xff08;Depthwise Separable Convolution&#xff09;&#xff0c;深度可分离卷积是卷积神经网络&#xff08;CNN&#xf…

Java 基于 poi 和 itextpdf 实现 excel 转 pdf

目录 问题 实现思路 pom Excel2PDFUtil Excel2PDFUtilTest 输出结果 问题 工作中遇到一个需求&#xff0c;需要实现 excel 文件的预览&#xff0c;实现的思路就是将 excel 转成 pdf 文件&#xff0c;上传到文件服务器上得到文件地址&#xff0c;预览时只需要返回 pdf 预…

UHF机械高频头的知识和待学习的疑问

电路图如上所示&#xff1a; 实物开盖清晰图如下&#xff1a; 待学习和弄懂的知识&#xff1a; 这是一个四腔的短路线谐振。分别是输入调谐&#xff0c;放大调谐&#xff0c;变频调谐和本振 第一个原理图输入为75欧&#xff08;应该是面向有同轴线的天线了&#xff09;如下图…

【vue+leaflet】自定义控件(五)

老规矩, 一健三连, 先赞后看 先看效果图 自定义控件: 支持和自带控件有相同的增删改查功能, 处理与自带控件来回切换,互相使用的部分问题 新建一个组件 imgControl.vue 1, html 没什么东西,就一个div盒子装leaflet图层 <template><div class"imgBox">…

Java | Leetcode Java题解之第513题找树左下角的值

题目&#xff1a; 题解&#xff1a; class Solution {public int findBottomLeftValue(TreeNode root) {int ret 0;Queue<TreeNode> queue new ArrayDeque<TreeNode>();queue.offer(root);while (!queue.isEmpty()) {TreeNode p queue.poll();if (p.right ! nu…