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 - 《赏竹而格之》的更多相关文章

  1. 「TJOI2013」循环格

    题目链接 戳我 \(Solution\) 我们观察发现循环格要满足每个点的入度都为\(1\) 证明: 我们假设每个点的入读不一定为\(1\),那么必定有一个或多个点的入度为0,那么则不满足循环格的定义 ...

  2. [LeetCode] Backspace String Compare 退格字符串比较

    Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...

  3. [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 ...

  4. [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 & ...

  5. [LeetCode] Domino and Tromino Tiling 多米诺和三格骨牌

    We have two types of tiles: a 2x1 domino shape, and an "L" tromino shape. These shapes may ...

  6. LeetCode--844--比较含退格的字符串(java)

    给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = "ab#c", T = " ...

  7. 【LeetCode题解】844_比较含退格的字符串(Backspace-String-Compare)

    目录 描述 解法一:字符串比较 思路 Java 实现 Python 实现 复杂度分析 解法二:双指针(推荐) 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以 ...

  8. XAF 如何从Excel复制多个单元格内容到GridView(收藏)

    XAF 如何从Excel复制多个单元格内容到GridView 2012年04月11日 ⁄ 综合 ⁄ 共 10998字 ⁄ 字号 小 中 大 ⁄ 评论关闭 how to paste some excel ...

  9. Q844 比较含退格的字符串

    给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = "ab#c", T = " ...

随机推荐

  1. Ant 调用 Shell/CMD 命令

    Ant中调用Makefile,使用shell中的make命令 <?xml version="1.0" encoding="utf-8" ?> < ...

  2. react中label标签的作用

    当我们点击输入内容触发input焦点的时候,就需要使用到label标签里的htmlFor属性来扩大点击的区域 代码如下:

  3. Sentine熔断降级进阶

    sentinel和springCloud整合 减少开发的复杂度,对大部分的主流框架,例如:Web Servlet.Dubbo.Spring Cloud.gRPC.Spring WebFlux.Reac ...

  4. UDP代码编写、操作系统发展史、多道技术、进程理论与代码层面创建、进程join方法与进程对象方法

    昨日内容回顾 socket基本使用 # 内置的模块 import socket s = socket.socket() # 默认是TCP协议 也可以切换为UDP协议 s.bind((ip,port)) ...

  5. 【Java】集合

    文章目录 集合框架的概述 数组在存储多个数据方面的特点 数组在存储多个数据方面的缺点 集合框架 Collection接口中的方法的使用 add(Object e) size() addAll(Coll ...

  6. 嵌入式学习第四步—C语言学习用软件安装

    学习一门计算机语言,不能光靠看书,最主要的是要动手联系.不记得从哪里看到过,要成为一名网络大牛,要有10万行以上的程序才是基础. 首先需要一个能够编辑程序的地方(IDE),经过大约10天的网上看各种视 ...

  7. RHCSA 第二天

    1.Linux中的文件类型以及符号的表示 (1) 普通文件: 使用 ls -l 命令后,第一列第一个字符为 "-" 的文件为普通文件,如上图所示,普通文件一般为灰色字体,绿色字体的 ...

  8. 利用栈实现括号匹配(python语言)

    原理: 右括号总是与最近的左括号匹配 --- 栈的后进先出 从左往右遍历字符串,遇到左括号就入栈,遇到右括号时,就出栈一个元素与其配对 当栈为空时,遇到右括号,则此右括号无与之匹配的左括号 当最终右括 ...

  9. [C# 学习]委托和线程

    委托有点像C语言的函数指针,简单总结一下如何使用委托. 1. 声明一个委托 public delegate void LabelSetEventHandler(Label la, string str ...

  10. synergy最佳解决方案——barrier

    synergy最佳解决方案--barrier ​ 不知道大家有没有一套键盘鼠标控制多台电脑的需求,主流的硬件或说软件有大神整理如下: 软件方案: Windows 之间:Mouse Without Bo ...