ICode9

精准搜索请尝试: 精确搜索
  • 「ZJOI2011」最小割2020-01-23 23:52:16

    「ZJOI2011」最小割 传送门 建出最小割树,然后暴力计算任意两点之间最小割即可。 多组数据记得初始化。 参考代码: #include <algorithm> #include <cstring> #include <cstdio> #include <queue> #define rg register #define file(x) freopen(x".in", "r", stdin), freopen(x&

  • 「CQOI2016」不同的最小割2020-01-23 23:51:06

    「CQOI2016」不同的最小割 传送门 建出最小割树,把每一个点对的最小割抠出来 \(\text{unique}\) 一下就好了。 参考代码: #include <algorithm> #include <cstring> #include <cstdio> #define rg register #define file(x) freopen(x".in", "r", stdin), freopen(x".ou

  • 「BJOI2018」求和2020-01-23 23:01:10

    「BJOI2018」求和 传送门 观察到 \(k\) 很小而且模数不会变,所以我们直接预处理 \(k\) 取所有值时树上前缀答案,查询的时候差分一下即可。 参考代码: #include <algorithm> #include <cstdio> #define rg register #define file(x) freopen(x".in", "r", stdin), freopen(x".out", &quo

  • 「Violet」蒲公英2020-01-23 22:57:07

    「Violet」蒲公英 传送门 区间众数,强制在线。 分块经典题。 像这题一样预处理,然后就直接爆搞,复杂度 \(O(n \sqrt n)\) 参考代码: #include <algorithm> #include <cstdio> #include <cmath> #define rg register #define file(x) freopen(x".in", "r", stdin), freopen(x"

  • 「国家集训队」稳定婚姻2020-01-23 22:52:47

    「国家集训队」稳定婚姻 传送门 考虑把男生看成黑点,女生看成白点。 那么一对不稳定的婚姻存在,当且仅当夫妻双方位于同一个黑白相间的环上。 然后我们考虑构造: 婚姻关系由女向男连边,情侣关系由男向女连边,那么一对不稳定婚姻就对应了有向图中的一个环。 那么我们直接跑一遍缩点即可

  • 「luogu4366」最短路2020-01-23 22:50:50

    「luogu4366」最短路 传送门 直接连边显然不行,考虑优化。 根据异或的结合律和交换律等优秀性质,我们每次只让当前点向只有一位之别的另一个点连边,然后就直接跑最短路。 注意点数会很多,所以用配对堆优化 \(\text{Dijkstra}\) 即可。 参考代码: #include <cstring> #include <cstdio>

  • 【算法学习笔记】倍增求最近公共祖先(LCA,非战斗机)2019-12-25 21:50:58

    \(0.\) 问题简介 有一棵树,告诉你它的节点数n,根的编号s以及所有的边。求m次询问,每次查询给定任意两个树上节点的最近公共祖先。 数据范围:\(n,m\leq 10^5\) \(1.\) 暴力 暴力很好理解,就是一个一个往他的父亲节点跳。学过并查集的同学们应该都知道,一个一个往上跳这种做法是很浪费时间

  • MySQL 8.0资源组有效解决慢SQL引发CPU告警2019-12-10 15:55:08

    资源组的作用是资源隔离(你可以理解为开通云主机时勾选的硬件配置),将线上的慢SQL线程id分配给CPU一个核,让它慢慢跑,从而不影响CPU整体性能。 创建一个资源组mysql> create resource group slowsql_rg type=user vcpu=3  thread_priority=19 enable;slowsql_rg为资源组名字typ

  • 使用 canvas画时钟2019-12-08 23:56:07

    今天看了H5的canvas,练习使用下。待完善。。。     class Clock { constructor(canvas) { this.canvas = canvas; } draw() { let ctx = this.canvas.getContext("2d"); ctx.setDefault = function() { const defaul

  • 「JLOI2014」聪明的燕姿2019-11-01 21:57:08

    传送门 Luogu 解题思路 很容易想到直接构造合法的数,但是这显然是会T飞的。 我们需要考虑这样一件事: 对于一个数 \(n\),对其进行质因数分解: \[n=\sum_{i=1}^x p_i^{c_i}\] 那么就会有: \[\sigma(n)=\prod_{i=1}^x \sum_{j=1}^{c_i}p^j\] 可以证明 \(\sigma(n)\) 和 \(n\) 同级,所以这

  • 「佛御石之钵 -不碎的意志-」(hard)2019-10-28 09:51:19

    来源:Comet OJ - Contest #13 一眼并查集,然后发现这题 tmd 要卡常数的说卧槽... 发现这里又要用并查集跳过访问点,又要用并查集维护联通块,于是开俩并查集分别维护就好了 一开始 XJB 搞了两个并查集建了个完全的连接方式,然后 xjb 写了堆合并,调了一会儿交上去喜见 TLE (自闭现场) 挺好

  • 「CF1037D」Valid BFS?2019-10-26 21:51:12

    传送门 Luogu 解题思路 考虑直接模拟 \(\text{BFS}\) 的过程。 对于每一个节点的儿子,先遍历在输入序列中靠前的,判断 \(\text{BFS}\) 是否匹配即可。 细节注意事项 注意一下输出格式 参考代码 #include <algorithm> #include <iostream> #include <cstring> #include <cstdlib> #

  • $Noip2012/Luogu1083$ 借教室2019-10-03 15:04:47

    $Luogu$   $Sol$ 区间整体加减? 差分+树状数组维护前缀和! 那每给一个人借完教室之后都要判断一下现在合不合法?那复杂度比暴力还不如些... 注意到这里的单调性,假设给前$x$个人借完教室之后就不合法了,那给前$x+1,x+2.....$个人借教室一定也是不合法的.于是可以二分第一个需要修

  • $Noip2011/Luogu1311$ 选择客栈2019-10-03 15:04:22

    $Luogu$   $Sol$ 暴力十分显然叭.正解不是很好想. 我最开始想维护所有色调的客栈的前缀和后缀,然后每扫到一个最低消费合法的就统计一次答案.但是这样会重复计数,两个合法客栈之间有几个消费合法的客栈它们就会被算几次.既然喝咖啡的客栈不能作为计数的基准点,那就换一个叭.换成

  • $Noip2013/Luogu1970$ 花匠 $dp$+思维2019-10-03 15:03:44

    $Luogu$   $Sol$ 和$Poj1037\ A\ Decorative\ Fence$好像吖. $f[i][0/1]$表示前$i$个数,且选了第$i$个数,这个数相对于上一个数是下降(上升)的,这样的序列的最大长度. $f[i][0]=max(f[k][1])+1,k<i且h[k]>h[i]$ $f[i][1]=max(f[k][0])+1,k<i且h[k]>h[i]$ 最后答案就是$max_{i=1}^

  • $Noip2011/Luogu1314$ 聪明的质监员 二分+巧妙前缀和2019-10-03 15:03:07

    $Luogu$   $Sol$ 首先$W$一定是某个$w_i$.于是一种暴力方法就出炉了,枚举$W$再计算. 注意到,满足$S-Y$的绝对值最小的$Y$只可能是两种,一种是$<S$的最大的$Y$,一种是$>S$的最小的$Y$.那就分别求出来叭.分别求的时候这个$W$的值是可以二分的.但是这样并不能$A$掉这题,因为$check$

  • $Noip2014/Luogu2312$ 解方程2019-10-03 15:02:51

    $Luogu$   $Sol$ 枚举解+秦九韶公式计算+取模.   $Code$   #include<iostream>#include<cstdio>#include<cstring>#include<queue>#include<algorithm>#define il inline#define Rg register#define go(i,a,b) for(Rg int i=a;i<=b;++i)#define yes(i,

  • $Noip2013/Luogu1967$ 货车运输 最大生成树+倍增$lca$2019-10-03 15:01:46

    $Luogu$   $Sol$ 首先当然是构建一棵最大生成树,然后对于一辆货车的起点和终点倍增跑$lca$更新答案就好.记得预处理倍增的时候不仅要处理走了$2^i$步后是那个点,还有这中间经过的路径权值的最小值以便之后统计答案. 再一看发现这题并没说给的图是联通的,也就是说跑了最大生成树之

  • 9月17日数据结构专题考试题解(待更新)2019-09-17 16:01:05

    9月17日数据结构专题考试题解 $ By~wch $ 第一题:加法(线段树) 题目描述: 给一个 $ n $ 阶排列 $ b $ ,要求维护一个初值全为 $ 0 $ 的数组 $ a_i $ ,支持 $ q $ 次如下操作: 给出 $ l,r $ ,将 $ a_l,a_{l+1}...a_{r-1},a_{r} $ 全部加 \(1\) 。 给出 $ l,r $ ,查询 $ \sum_{i=l}^{r} \l

  • POJ_1200 Crazy Search ( Hash映射 )2019-09-12 11:39:30

    题目连接 题意 给一个含有nc个不同字母的字符串,然后求其中有多少个长度为n的不同子串. 题解 因为题目中给出了nc,即字母种类的个数。所以可以把每一个出现的字母对应为1到nc。然后把长度为n的字符串映射成为一个整数。即把这个字符串看成一个nc进制的数。 代码 #include<cst

  • $Noip2014/Luogu2296$ 寻找道路 图论2019-08-26 15:00:35

    $Luogu$   $Sol$ 首先把不符合条件一的点去掉然后跑$SPFA$就好了叭. 如何判断点是否符合条件一呢?先连反边,记录每个点的入度,然后从终点开始$dfs$,记录每个点被到达的次数,若到达的次数小于它的入读那么就是不满足题意的. 为啥$Noip2014$有$4$道连我都觉得很水的题.   $Code$

  • P5327 [ZJOI2019]语言2019-08-25 13:45:56

       P5327 [ZJOI2019]语言 题目描述 详见:P5327 [ZJOI2019]语言 简要题意:给定一棵树和一些链,问树上处于同一条链的不同点对数。 Solution 对于每一个点,考虑以它为端点的可行路径有哪些。 我们可以发现,可以到达的节点会组成一个斯坦纳树,这棵斯坦纳树包含了即经过链。 我们进一

  • 正则的replace方法详解2019-08-17 20:04:22

    MDN解释: 返回一个由替换值替换一些或所有匹配的模式后的新字符串。 使用以下值作为替换参数 序列 变量名 代表的值 1 $$ 插入一个 “$” 2 $& 插入匹配的子串 3 $` 插入当前匹配的子串左边的内容 4 $’ 插入当前匹配的子串右边的内容 5 $n 假如第一个参

  • javascript中制作简单的动态表单提交2019-08-09 16:43:06

    代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>注册页面</title> <style> *{ margin: 0px; padding: 0px; box-sizing: border-box; }

  • poj2965 The Pilots Brothers' Refrigerator 题解报告2019-07-29 09:03:37

    题目传送门 【题目大意】 有一个$4*4$的矩阵,现在要把矩阵内所有的“+”变成“-”,已知如果选取一个位置$(i,j)$改变状态,那么第$i$行和第$j$列的所有位置的状态都会改变,求达到要求的最小步数和改变状态的顺序。 【思路分析】 分析可得,对于某个“+”的位置$(i,j)$,要使它的状态改变而其他

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有