ICode9

精准搜索请尝试: 精确搜索
  • 线段树套线性基 P4839 P哥的桶2022-07-18 22:05:56

    线段树每个结点维护一个线性基,插入时直接插入,查询时把所有被查询区间所包含的区间的线性基插入到一个大的线性基里,最后在大的线性基里查询就好了。 \(O(n\log m\log ^2x)\) 对于单点修改,给从根节点到单点的路径每个点都插入这个数。 对于区间查询,把所有答案插入到一个大的线性基里

  • 【Coel.学习笔记】2-SAT 问题2022-07-18 21:00:20

    终于结束网络流了,真有够累的…… 接下来图论就还剩一点点了,加油~ SAT 问题相关概念 SAT 是 \(\mathcal{Satisfaction}\) 的英文缩写,意为“适应性”。对于若干个命题,每个命题都有且只有“真”和“假”两种取值。接下来会给出若干个条件,每个条件都形如“\(x_i\) 为真/假或 \(x_j\)

  • 二叉树输出2022-07-18 20:33:30

    问题 E: 二叉树输出 时间限制: 1.000 Sec  内存限制: 128 MB 题目描述 树的凹入表示法主要用于树的屏幕或打印输出,其表示的基本思想是兄弟间等长,一个结点要不小于其子结点的长度。二叉树也可以这样表示,假设叶结点的长度为1,一个非叶结点的长并等于它的左右子树的长度之和。

  • CF1708A Difference Operations 题解2022-07-18 16:35:55

    这道题只要想到了思路就很简单啦! 具体思路就是:让 \(i\) 从 \(2\) 一直枚举到 \(n\),假如所有的 \(a_i\) 能整除 \(a_1\),就输出 yes,否则输出 no。 思路清晰了,代码就非常简单写了。 代码 // Author: CrazyWolf #include <bits/stdc++.h> using namespace std; const int maxn = 1e2

  • CF1705A Mark the Photographer 题解2022-07-18 16:35:39

    这道题目的意思其实就是有 \(2n\) 个人,分两排站。求能否使后面的人的高度 \(-\) 前面的人的高度 \(\ge x\)(第 \(i\) 个人的高度是 \(h_i\))。 这道题一看到题目理所当然的就想到先排序,然后判断 \(h_{i + n}\) 是否比 \(h_i\) 高 \(x\) 个单位。一遇到不符合的立马输出 no,直到最后如

  • Codeforces Round #808 (Div. 1)2022-07-18 14:33:24

    \(\texttt{Rating Change:}\color{orange}{2149}\color{black}\to \color{orange}{2252}\) \(\Delta={\color{green}{\texttt{103}}}\qquad \texttt{rank:157}\) A 迷惑题,题意太长不讲了。 反正就是容易想到前面跳过几个打不过的测试,与最终能够进行到那里肯定是单调的。并且我们希

  • 动态规划背包详解——完全背包2022-07-16 17:00:14

            上一次我们讲了动态规划的定义以及01背包的算法和代码实现,没读过的请出门左转:https://www.cnblogs.com/YZYc/p/01Pack-Class-YPPAH.html         今天我们继续上一次的内容,讲一讲另外一种背包——完全背包。完全背包的定义其实和01背包十分相似,都是有n个物品,一个

  • 27. AtCoder-Multiple Sequences2022-07-15 22:33:25

    题目链接:Multiple Sequences 给定 \(n,m\),问存在多少长度为 \(n\) 的序列满足所有元素均 \(\in [1,m]\) 且对于序列中任意的相邻项,均满足后一项能被前一项整除。 结果对 \(998244353\) 取模。 一开始往dp的方向去想,发现没什么办法优化,说明还需要挖掘一些隐含的性质。容易注意到,序

  • 动态规划背包详解——01背包2022-07-15 21:34:42

           动态规划,Dynamic Programming,简称DP。动态规划是编程算法十分重要的一章,它的种类繁多,分支也十分复杂,并且没有一个固定的模板。DP是运筹学的一个分支,是求解决策过程中最优化的过程。所有DP代码都是有三个步骤:建表、填表、查表。其中,建表就是定义数组并初始化,查表就是在

  • 这次应该叫高二上几调?2022-07-14 19:34:39

    B. biology 错误思路:按a的值分个层,直接把每层的最大值的点编号放到队列里,后来忽然发现每个a最小一层的点都有可能当一次起点,它的位置决定了后面的点的位置,不能单独考虑起点b值的大小,于是就让每一个最小的a当一次起点循环一遍。我已经做好了它超时的心理准备,但是有WA的点就不太理解

  • L.Let's Swap 找规律+字符串双哈希2022-07-14 19:04:35

    (这道题赛后补的,就是说现场根本没有时间开到www 依据题意,有两种操作,过程还蛮复杂的,又倒置又反转,然后我看到这种操作一般就懵逼了,然后捏? 这时候一般就需要手%啥的,就是画图模拟,找规律,一般都有一些”性质“的 比如这题的一些性质: #同一个操作使用两次,会撤销,相当于没有操作 那么..设想

  • 【Coel.学习笔记】费用流的含义与基础运用2022-07-14 17:31:55

    基本含义 在一张流网络中,最大流是不唯一的。那么给每条边再加上一个费用值,所有最大流中费用和的极值就叫费用流。对应地,费用最小值为最小费用最大流,费用最大值为最大费用最大流。 算法内容 使用 EK 算法或 Dinic 算法,把 bfs 换成 SPFA 就可以求出最小费用最大流。 需要注意,当流网

  • Codeforces 1666F. Fancy Stack2022-07-14 16:38:02

    传送门 \(\texttt{Difficulty:2200}\) 题目大意 一个长为 \(n(1\le n\le5000,n\) 为偶数 \()\) 的升序序列 \(a(1\le a_i\le n)\) 。将 \(a\) 中的元素重新排布,组成序列 \(b\) ,使得 \(b_1 < b_2 > b_3 < b_4 > \ldots > b_{n-1} < b_n\) 并且 \(b_2 < b_4 < b_6 <

  • CodeForces 1662F Antennas2022-07-14 09:35:09

    洛谷传送门 CF 传送门 思路 边权为 \(1\) 的最短路问题,可使用 BFS 求解。当目前搜到点 \(u\) 时,瓶颈在于找出所有边 \(u \to v\),若 \(v\) 没被访问过就入队。 下面的部分和 [JOISC2020] 治療計画 有点像。考虑先拆限制中的绝对值。 若 \(u < v\) ,则 \(v - u \le p_u\) 且 \(v -

  • CF380C Sereja and Brackets 题解 数列分块2022-07-14 08:35:43

    题目链接:https://codeforces.com/contest/380/problem/C 题目大意:给定长度为 \(n(\le 10^6)\) 的一个括号序列,有 \(m(\le 10^5)\) 次询问,每次询问给定一个区间 \([l,r]\),你需要回答出区间 \([l,r]\) 范围内的所有子序列里面最长的合法括号表达式的长度。 解题思路: 首先,无论在哪个

  • Codeforces Round #806 (Div. 4) A - G2022-07-13 20:34:59

    传送门 A. YES or YES? 统一一下大小写 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #include <queue> #include <functional> #include <map> #include <set> #include &

  • Codeforces Round #805 (Div. 3) A - G2022-07-13 20:01:31

    传送门 第一次赛中 AK div3,值得纪念! 赛后发现有很多题想的不是很周到,所以晚发了这么久 A - Round Down the Price 找到一个不大于当前数字的 10 的次幂 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #include <queue> #inclu

  • 牛客挑战赛592022-07-13 11:32:37

    木桩: 链接:https://ac.nowcoder.com/acm/contest/11199/A 分析:首先考虑一个小木桩前有x个大木桩 后有y个大木桩 则这个小木桩的贡献就是x×y-x 很明显均值不等式得到x和y尽量均分才能答案最大 如果a为偶数那么恰好前后各一半 如果a为奇数那么多的那一个放在后面一定最优 code: #inc

  • SP1557 GSS2 - Can you answer these queries II2022-07-13 08:33:22

    题意 求区间最大去重后的子段和。 Solution 考虑到 CF997E 的套路。求区间子段计数的问题,可以采用离线的方式。还是一样考虑移动右端点。那么在线段树上 \(i\) 位置存储 \([i,r]\) 的去重后的子段和。 现在考虑端点移动。加入了一个 \(a_r\),只会对上一次出现 \(a_r\) 的位置之后的

  • [BJWC2010]严格次小生成树2022-07-12 21:33:34

    做题时间:2021.8.8 \(【题目描述】\) 给你一张 \(N(1\leq N\leq 10^5)\) 个点 \(M(1\leq M\leq 3\times 10^5)\) 条边的无向图,求出这张图中严格次小生成树。 \(【输入格式】\) 第一行两个整数 \(N,M\) 接下来 \(M\) 行每行三个整数 \(u,v,w\) 表示图上一条边 \(【输出格式】\) 一行

  • SUSTOJ.排了又没有完全排2022-07-12 19:05:08

    题目详情 - 排了又没有完全排 - SUSTOJ 2022-07-12 思路: 二分猜数字,常规二分,返回左端点的模板 check比较难写 用双指针,左右夹数,把矩阵画出来比较好理解。   1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 5 typedef long

  • LCA模板2022-07-11 20:31:36

      拿来存一下lca模板,想知道原理的话出门洛谷~ #include<bits/stdc++.h> using namespace std; const int maxn=500007; int cnt=0,head[maxn],fa[maxn][40],dep[maxn],lg[maxn]; struct lys{ int from,to,nex; }e[maxn*2]; void add(int from,int to){ cnt++; e[cnt

  • 牛客挑战赛612022-07-11 18:02:22

    运算: 链接:https://ac.nowcoder.com/acm/contest/11201/A 分析: 就是一个简单的线性模拟 唯一注意的就是分母不能为0 也就是说如果该位置填 除号 要特判现在的数是否为0 code: #include<bits/stdc++.h> using namespace std; #define lowbit(x) x&(-x) #define ll long long const i

  • P3346 [ZJOI2015]诸神眷顾的幻想乡2022-07-11 12:06:02

    传送门 题目大意 一棵 \(n(1\le n\le10^5)\) 个节点的树,每个树上有一个颜色值 \(c_i(1\le c_i\le10)\) 。求树上本质不同的路径数,两条路径本质不同当且仅当路径上形成的颜色序列本质不同,保证度数为 \(1\) 的节点数量 \(<20\) 。 思路 如果只考虑从上到下的路径,那么把这棵树当成一

  • [SCOI2005]扫雷MINE2022-07-11 11:33:27

    题目描述: 相信大家都玩过扫雷的游戏。那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来。 万圣节到了 ,“余”人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里面的数字 表示和它8连通的格子里面雷的数目。 现在棋盘是n×2的,第一列里面某

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

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

ICode9版权所有