Solution Set - 《赏竹而格之》
1.「GXOI / GZOI 2019」「洛谷 P5304」旅行者
Link & Submission.
经典二进制分组,没啥好说的。
2. 「SDOI 2019」「洛谷 P5361」热闹的聚会与尴尬的聚会
Link & Submission.
随便拓扑一发可以求到最大的 \(p\),进而得到 \(q\) 的目标值。我一看,精确求 \(q\) 是 NP-Hard?!好的我们 std::shuffle 一发依次选……我焯它过了?
确定性算法:注意到 \((p+1)(q+1)\ge n+1\),我们每次取 \(\arg\min\{d(u)\}\),将它和它的邻接点删掉,尝试构造独立集,同时用当前的 \(\min\{d(u)\}\) 和对应的图更新 \(q\) 度图,然后发现可行√
如果实现随意都是 \(\mathcal O(Tm\log m)\) 的。
3. 「LibreOJ NOI Round #1」「LOJ #508」失控的未来交通工具
Link & Submission.
我卡得比较久的地方是第一步转化的先入为主:觉得这个和同余最短路相关,继而想动态维护最短路之类的鬼东西……
图非常不可做,一般我们选择将路径特殊化:变成树边 + 环,但恼人的是这个“环”似乎并不独立于“路径”,我们必须先走到环上的点才能进入环。联系经典的异或路径问题,可以尝试一步构造,让环仅依赖于连通块存在:若想要加入一个环,我们从路径上一点从任意路径走向环,绕一圈,然后在这“任意路径”上往返 \(m\) 次即可。显然我们只需要关心所有环长的 \(\gcd\),并查集记录这一信息。
对于询问,可以转化成求 \(gx+my=\cdots\) 的整数解问题,虽然数学计算的 corner cases 很多但写题解就不重要了√ 复杂度是 \(\mathcal O(q\log V)\)。
Solution Set - 《赏竹而格之》的更多相关文章
- 「TJOI2013」循环格
题目链接 戳我 \(Solution\) 我们观察发现循环格要满足每个点的入度都为\(1\) 证明: 我们假设每个点的入读不一定为\(1\),那么必定有一个或多个点的入度为0,那么则不满足循环格的定义 ...
- [LeetCode] Backspace String Compare 退格字符串比较
Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...
- [Swift]LeetCode844. 比较含退格的字符串 | Backspace String Compare
Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...
- [Swift]LeetCode1030. 距离顺序排列矩阵单元格 | Matrix Cells in Distance Order
We are given a matrix with R rows and C columns has cells with integer coordinates (r, c), where 0 & ...
- [LeetCode] Domino and Tromino Tiling 多米诺和三格骨牌
We have two types of tiles: a 2x1 domino shape, and an "L" tromino shape. These shapes may ...
- LeetCode--844--比较含退格的字符串(java)
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = "ab#c", T = " ...
- 【LeetCode题解】844_比较含退格的字符串(Backspace-String-Compare)
目录 描述 解法一:字符串比较 思路 Java 实现 Python 实现 复杂度分析 解法二:双指针(推荐) 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以 ...
- XAF 如何从Excel复制多个单元格内容到GridView(收藏)
XAF 如何从Excel复制多个单元格内容到GridView 2012年04月11日 ⁄ 综合 ⁄ 共 10998字 ⁄ 字号 小 中 大 ⁄ 评论关闭 how to paste some excel ...
- Q844 比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = "ab#c", T = " ...
随机推荐
- 使用.NET 6开发TodoList应用(23)——实现请求限流
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 Rate Limiting允许保护我们的API服务免受过多请求的连接导致的性能下降,如果请求次数超过了限制,API服务端将会拒 ...
- SYCOJ1018神奇的幻方
题目-神奇的幻方 (shiyancang.cn) 模拟就对了 因为每一个状态由前一个状态决定,所以只需要记录即可 #include<bits/stdc++.h> using namespa ...
- JVM调优工具锦囊
Arthas线上 分析诊断调优工具 以前我们要排查线上问题,通常使用的是jdk自带的调优工具和命令.最常见的就是dump线上日志,然后下载到本地,导入到jvisualvm工具中.这样操作有诸多不变,现 ...
- kibana7.x安装配置操作elasticsearch
什么是Kibana? Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等. 而且还 ...
- x86架构应用如何向Arm架构低成本迁移
曾几何时,无论是在服务器还是个人电脑,CPU芯片领域一直是 Intel 独占鳌头,旗下的 X86_64 架构被广泛采用.然而王权没有永恒,近年来 Arm64 架构异军突起,服务器端有华为鲲鹏920高性 ...
- Android官方文档翻译 九 2.2Adding Action Buttons
Adding Action Buttons 增加动作按钮 This lesson teaches you to 这节课教给你 Specify the Actions in XML 在XML中指定动作 ...
- Boost下载安装
下载解压 官方地址 wget https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz tar -zxvf b ...
- Error: xz compression not available解决办法
centos6升级php时误安装: rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mir ...
- PyTorch 介绍 | TRANSFORMS
数据并不总是满足机器学习算法所需的格式.我们使用transform对数据进行一些操作,使得其能适用于训练. 所有的TorchVision数据集都有两个参数,用以接受包含transform逻辑的可调用项 ...
- Android开发-主要的dialog
dialog是弹出式窗口,点击后会以窗口的形式弹出 主要有添加备注,日历选择等,通过设置事件监听,将dialog弹出来 package com.example.Utils.fragment; impo ...