counting graphs 1857g cf

[ARC105F] Lights Out on Connected Graph 题解

题意 给定一个 \(N\) 个点 \(M\) 条边的简单无向联通图 \(G\)。每个边有红和蓝两种颜色,初始时每条边均是红色。 现在通过移除 \(G\) 中的一些边来获得一个新的无向图 \(G^{\prime}\),求在所有的 \(2^M\) 种方案中有多少种方案可以使得 \(G^{\prime}\ ......
题解 Connected Lights Graph 105F

CF1359D Yet Another Yet Another Task

貌似没有线段树做法。 记\(s\)为\(a\)的前缀和数组。 对于一个确定的右端点 \(r\) 和左端点 \(l\),它对于答案的贡献是 \(s_r-s_{l-1}-max\{a_i\},l\le i\le r\) ,如果枚举右端点,令 \(c_l=s_{l-1}+max\{a_i\},l\le i ......
Another Yet 1359D 1359 Task

cf1446C. Xor Tree

https://codeforces.com/problemset/problem/1446/C 断断续续想了挺久的,还发现看错题了。 首先一个显然的结论是不会成环,证明显然。 突破口在于从高位往低位考虑,我们按照最高一位的值分成两类,一类是这一位为0,另一类为1,那么显然在我们不进行任何操作的时候 ......
1446 Tree Xor cf

CF Round906 vp日志

太菜了只会四个 A 题意:给定一个长度为 \(n\) 的数组 \(a\) ,你可以将他随便重排,问是否能让它满足 \(a_i + a_{i+1}=a_{i+1}+a_{i+1}=.......=a_{n-1}+a_n\) 。 首先如果 \(a\) 中的元素种类超过 \(2\) 个,那么这个序列是不可 ......
Round 日志 906 CF

cf1856E2. PermuTree (hard version)(bitset+二进制优化背包+开不同大小bitset)

https://codeforces.com/contest/1856/problem/E2 结论是显然的,关键是有一些科技在里面 bitset+二进制优化 具体分析可以参考https://codeforces.com/blog/entry/98663 简而言之就是可以通过\(O(\frac{C\s ......
bitset 二进制 背包 PermuTree 大小

CF1325E Ehab's REAL Number Theory Problem

题目传送门 题目大意 给定 \(n\) 个数,每个数的因数个数不超过 \(7\),求最少选出多少个数能使得乘积为一个完全平方数。 无解输出 \(-1\)。 思路 约数个数定理:对于 \[n=\prod^{k}_{i=1}p_i^{a_i} \]\(n\) 的正约数个数为 \(\prod^{k}\li ......
Problem Number Theory 1325E 1325

CF1583G Omkar and Time Travel

CF1583G Omkar and Time Travel 想清楚了就不难。 首先我们考察一下性质,一次 time leap 之后只有包含于 \((a_i, b_i)\) 的区间会被重置,考虑这样一件事情:设 \(f_{l,r}\) 表示从 \(l\) 左边走到 \(r\) 右边的 time lea ......
Travel 1583G Omkar 1583 Time

CF301E Yaroslav and Arrangements 题解

### $\text{Description}:$ 给定一个长为 $s$ 序列 $a$,如果 $a_1 = \min_{i=1}^{r} a_i$。令 $a_{s + 1} = a_1$,有 $\forall i ,\left | a_i-a_{i+1} \right | =1$,我们称这个序列是良 ......
题解 Arrangements Yaroslav 301E 301

[ARC105E] Keep Graph Disconnected 题解

题意 给定一张由 \(N\) 个点和 \(M\) 条边组成的简单无向图 \(G\),定义一个无向图是好的当且仅当这张图满足以下条件: \(1\) 号节点和 \(N\) 号节点不联通 图中不存在重边和自环 现有两人轮流采取操作,每轮操作如下: 选择两个点 \(u, v\),将边 \((u, v)\) ......
题解 Disconnected Graph 105E Keep

CF587E Duff as a Queen

维护序列,支持: 区间异或 查询区间子集异或值种数(包含空集) \(n\le 2\times 10^5\),\(1\le q\le 4\times 10^4\),值域 \([1,10^9]\),TL=7s. 经典题。 操作 2 相当于查询区间线性基大小。 由于不能维护区间异或,作差分 \(b_i=a ......
Queen 587E Duff 587 CF

CF1083D

年轻人的第一个 *3500。抄题解的。 考虑选出一个字段 \([l, r]\) 然后计算可以产生贡献的地方。那么就是 \(\underset{i \in [l, r]} \max pre_i + 1\) 和 \(\underset{i \in [l, r]} \min suf_i - 1\) ,称其 ......
1083D 1083 CF

CF1486F

都 3202 年了,我还是永远喜欢正向计数(bushi)。 显然是 CF1336F 弱化版。值得一提的是,在 standing 上有一个老哥,交了一份很神奇的代码,好像拼了 CF1336F 的 std,然后拼了两份,一减就求得答案。 考虑分类计数,目前我们有两条链 \(x \to y\) 和 \(p ......
1486F 1486 CF

CF1895

A 手玩一下就能出来的东西吧,粘个核心代码。 if(x > y) ww(x), wl; else if(x + k >= y) ww(y), wl; else ww(y * 2 - x - k), wl; B 观察性质,一定是将数组排序后,从 \(1 \sim n\) 为横坐标,从 \(n + 1 ......
1895 CF

CF1895B

analysis 观察性质,一定是将数组排序后,从 \(1 \sim n\) 为横坐标,从 \(n + 1 \sim n * 2\) 为纵坐标。所得距离应为横坐标之差的和和纵坐标之差的和。 核心代码。(手玩一下也能出来。) read(n); sum = 0; fos(i, 1, n * 2) rea ......
1895B 1895 CF

题解 LOJ3483【[USACO21FEB] Counting Graphs P】

题解 P7418【[USACO21FEB] Counting Graphs P】 problem Bessie 有一个连通无向图 \(G\)。\(G\) 有 \(N\) 个编号为 \(1\ldots N\) 的结点,以及 \(M\) 条边(\(1\le N\le 10^2, N-1\le M\le ......
题解 Counting Graphs USACO 3483

cf797eE. Array Queries(暴力+复杂度分析)

cf797e 还是暴力,将不同的询问根据k分开,然后bfs,建出一棵树,然后dfs。 时间复杂度:O(能过) 稍微口胡分析一下 大概是 \(min(1,q[1])*n/1 +min(2.q[2])*n/2+min(3,q[3])*n/3+.....\) qi表示第k=i的询问个数 因为每一种k它最多 ......
复杂度 暴力 Queries Array 797

cf1582F2. Korney Korneevich and XOR (hard version)(暴力优化)

cf1582F2 对于每种数可以维护一个列表v[x],表示到当前位置,最后一个数小于等于x,能够取到的值,对于当前的数ai,我们可以用v[ai]中的值x与ai异或,来更新v[ai+1],v[ai+2]后面的值。 然后就是有两个优化,每次我们更新完后,都对v[a[i]]清空,因为只有两个相同数之间的数 ......
Korneevich 暴力 version Korney 1582

CF1045J Moonwalk challenge

这题怎么才 \(\color{red}*2600\) 啊,我觉得有 $\color{maroon} *3000+ $,太菜了 /ll。 来一个官方题解做法,复杂度稍劣还要离线,被爆了 /ll。题解区大佬说哈希狗都不写。 洛谷 CF 给出一棵 \(n\) 个点的树,边上有字母。\(q\) 次询问,每次 ......
challenge Moonwalk 1045J 1045 CF

CF1890D Doremy's Connecting Plan

或许赛时根本不需要证明贪心的正确性。 我们发现 \(c\) 对于问题的影响不大,我们可以将每个 \(a_i\) 除以 \(c\),就转化为了 \(c=1\) 的情况。 一个自然的贪心是用 \(1\) 作为中心点去连接其他的所有点,这需要两条结论保证其正确性: 结论一: 如果当前图中还可以连边,点 \ ......
Connecting Doremy 1890D 1890 Plan

CF1861F Four Suits【网络流,贪心】

有 \(n\) 个人,\(4\) 种不同的卡牌,初始第 \(i\) 个人有 \(a_{i,j}\) 张第 \(j\) 种卡牌。 你是局外人,手里第 \(j\) 种卡牌有 \(b_j\) 个,你现在要把你的卡牌分给这 \(n\) 个人,使得分完之后每个人手里的卡牌总数相等,保证有解。 第 \(i\) ......
1861F Suits 网络 1861 Four

CF149E Martian Strings

感觉这题 SA 做法绝对不止 \(\color{orange} *2300\)。 洛谷 CF 给出字符串 \(s\),以及 \(m\) 个询问串 \(p_i\),每次询问是否能找到两个不交的区间 \([a,b],[c,d]\) 使得 \(\overline{s_as_{a+1}\dots s_bs_ ......
Martian Strings 149E 149 CF

【欧拉图】Euler Graph(Fluery算法,Hierholzer算法)

还在持续更新ing 前言 此乃小 Oler 的一篇算法随笔,从今日后,还会进行详细的修订。 注明:有参考自论文《欧拉图相关的生成与计数问题探究》 简单介绍 著名的哥尼斯堡七桥问题是18世纪著名的古典数学问题之一,该问题在相当长的时间里无人能解。欧拉经过研究,于1736年发表了论文《哥尼斯堡的七座桥》 ......
算法 Hierholzer Fluery Euler Graph

cf1322BPresent(基数排序+双指针+拆位)

cf1322BPresent 首先拆位是显然的,对于两个数a[i],a[j],除了考虑当前位上的数,我们还要考虑是否会产生进位,我们可以利用基数排序+双指针,因为我们每次都是将低位的排好序了,所以我们可以用双指针计算进位,然后分类计算一下,当前为为1的情况即可。 #include<cstdio> # ......
基数 指针 BPresent 1322 cf

[LeetCode] 1359. Count All Valid Pickup and Delivery Options 有效的快递序列数目

Given n orders, each order consists of a pickup and a delivery service. Count all valid pickup/delivery possible sequences such that delivery(i) is al ......
序列 数目 LeetCode Delivery Options

[CF1895F] Fancy Arrays

Fancy Arrays 洋洋强到爆炸啊。 根据某个差分数组可以得出最小值的位置(即使有多个也会因为差分数组有区别而对应不同原序列),所以钦定最小值后可以得出所有 \(a_i\geq0\) 的方案数,不难得出区间为 [0,x+k],并且最小的大于 x 的数一定合法。 然后减去所有值都在 [0,x) ......
Arrays 1895F Fancy 1895 CF

[CF1781F] Bracket Insertion

Bracket Insertion 托利斯特老了/kk 我一开始想的是 () 的权值为1,)( 的权值为-1,树上 dp 满足某子树由若干条类似斯特兰数方案的链构成。 但是有概率使得权值计算很难处理。 所以考虑把合法方案最终状态表示出来。 套路地设 ( 的权值为1,) 的权值为-1。 可以发现若新加 ......
Insertion Bracket 1781F 1781 CF

cf1709E. XOR Tree(启发式合并入门)

cf1709E. XOR Tree 贪心是显然的,关键是如何合并两棵子树的信息,可以采用启发式合并。 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<map> #include<vecto ......
1709 Tree XOR cf

cf1834E. MEX of LCM(维护右端点计算区间lcm)

cf1834E 首先可以估计一下答案的量级,因为小于答案的质数都要必须要出现,5e6以内的质数大概就是3e5,所以答案不超过5e6。 我们维护以i右端点的lcm的值,这些值的数量不会太多,因为每次增长都至少×2,所以是log级别。 每次新加的时候记得更新和去重即可。 #include<cstdio> ......
端点 区间 1834 MEX LCM

CF1196B

题意: n个数,分割成k个部分,使得每份和都为奇数 做法: 一个序列的和的奇偶性和偶数没关系,所以只需要考虑奇数的个数 现在考虑两个问题: 1.如果奇数的个数小于最终要求的k,那么就无法完成分类(即是如果一个数一块也不行) 2.如果奇数的个数,记为cnt,cnt的奇偶性和k的奇偶性不同,例如cnt为 ......
1196B 1196 CF

CF1644D Cross Coloring

CF1644D Cross Coloring 题意: 在一个 \(n\) 行 \(m\) 列的网格里执行 \(q\) 次操作,每次操作在 \(k\) 种颜色中 (没有初始颜色) 选择一种给第 \(x_i\) 行和第 \(y_i\) 列染色且覆盖原有颜色,问最终染色方案数 做法: 因为后染的色会覆盖先 ......
Coloring 1644D Cross 1644 CF