01 2024 档案

摘要:无向图的tarjan 求边双连通分量的个数以及每个边双连通分量的大小以及每个边双连通分量包含哪些点。bridge数组表示一条边是不是桥。 #include<bits/stdc++.h> using namespace std; const int N=5e5+10,M=2e6+10; struct 阅读全文
posted @ 2024-01-28 16:48 __Star_Sky 阅读(15) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-01-28 16:47 __Star_Sky 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-01-28 16:46 __Star_Sky 阅读(0) 评论(0) 推荐(0) 编辑
摘要:Description 在平面直角坐标系中给定若干条直线,问在 \(y\) 值为正无穷处往下看有多少条直线可见。当能看见一条直线的某个子线段时我们称一条直线可见,否则称这条直线被覆盖。 Solution 从最简单的情况开始考虑。若只有两条直线,那么其中一条直线不可见当且仅当两条直线的斜率相同并且截距 阅读全文
posted @ 2024-01-28 13:33 __Star_Sky 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Description 在平面直角坐标系中给出一个圆的圆心和半径,给出若干个平面上的点。问以给定点为圆心,以给定长度为半径的半圆最多可以覆盖平面上的多少个点。 Solution 半圆在坐标系中可以任意旋转,可能的角度有无限个,显然无法枚举。但是稍作分析,我们可以发现,若当前情况下半圆的直径上没有一个 阅读全文
posted @ 2024-01-28 13:32 __Star_Sky 阅读(20) 评论(0) 推荐(0) 编辑
摘要:Description 有 \(n\) 堆糖果,每堆糖果有 \(a_i\) 颗。两个人轮流取糖果,每次取糖果可以在任意一堆里选任意多颗,可以把那一堆全部取完,但不能不取。取到最后一颗糖果的人算输。问先手必胜还是必败。 Solution 对于这类博弈论的问题,一种很常见的做法是:从最简单的情况开始考虑 阅读全文
posted @ 2024-01-28 13:32 __Star_Sky 阅读(12) 评论(0) 推荐(0) 编辑
摘要:Description 给你三个整数 \(s,n,k\),问对于任意长度为 \(n\) 的且满足 \(\sum\limits_{i=1}^{n}a_i=s\) 且 \(\forall a_i\in[1,n],a_i>0\) 的数列 \(a\) 是否都有 \(\exists l\in[1,n],r\i 阅读全文
posted @ 2024-01-28 13:31 __Star_Sky 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Description 给定一个 \((n+2)\times m\) 的网格和三个整数 \(a,b,k\),除了第一行和最后一行,从第一天开始每一天每一行最左边和最右边的格子都有 \(b\times a^{-1}\) 的概率消失,其中 \(a^{-1}\) 表示 \(a\) 在模 \(10^9+7\ 阅读全文
posted @ 2024-01-28 13:31 __Star_Sky 阅读(4) 评论(0) 推荐(0) 编辑
摘要:Description 求 \(\sum\limits_{i=1}^{n}\sum\limits_{j=i}^{n}(\max\limits_{k=i}^{j}a_k-\min\limits_{k=i}^{j}a_k)\)。 其中 \(n\le3\times 10^{5}\)。 Solution 解 阅读全文
posted @ 2024-01-28 13:30 __Star_Sky 阅读(5) 评论(0) 推荐(0) 编辑
摘要:Description 有 \(n\) 个灯笼排成一行,每个灯笼有一个亮度 \(p\)。每个灯笼可以选择朝向左边或朝向右边。亮度为 \(p_i\) 的灯笼可以照亮位于 \([i-p_i,i-1]\) 或 \([i+1,i+p_i]\) 的灯笼。注意每个灯笼都不能照亮自己。问是否存在一种方案使得每个灯 阅读全文
posted @ 2024-01-28 13:29 __Star_Sky 阅读(1) 评论(0) 推荐(0) 编辑
摘要:Description 给定一个 \(n\times m\) 的棋盘,求在这个棋盘上放 \(k\) 个马的方案数。这里的马是国际象棋的马。 其中 \(n\le6,m\le100,k\le20\)。 Solution 注意到 \(n\) 的范围只有 \(6\),显然可以状态压缩动态规划。我们用一个二进 阅读全文
posted @ 2024-01-28 13:28 __Star_Sky 阅读(41) 评论(0) 推荐(0) 编辑
摘要:Description 给定 \(n,k\),求 \(\sum\limits_{i=1}^{n}k \bmod i\)。其中 \(1\le n,k\le10^{18}\)。 Solution 这里是 \(O(\sqrt{k})\) 的整除分块做法,但是可以通过本题,原因是本题实际数据远远小于给定的范 阅读全文
posted @ 2024-01-28 13:28 __Star_Sky 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Solution 观察题面给出的表格。首先观察“三角形数”这一行,结合题目描述给出的图,容易发现,每一次后面的数减去前面的数的差都增加了 \(1\)。将差分序列写出来,就是 \[1,2,3,4,5\dots \]这提示我们或许可以在差分序列上发掘性质。 再将正方形数差分序列写出来: \[1,3,5, 阅读全文
posted @ 2024-01-28 13:27 __Star_Sky 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Description 给定一个长度为 \(n\) 的数组 \(a\) 和一个整数 \(k\),你需要创建另一个长度为 \(n\) 的数组 \(b\)。\(b\) 数组需要由 \(k\) 个段组成,并且每个段中的数全部相等。求 \(\sum\limits_{i=1}^{n}|a_i-b_i|\) 的 阅读全文
posted @ 2024-01-28 12:51 __Star_Sky 阅读(2) 评论(0) 推荐(0) 编辑
摘要:Description 给定一个由 0 或 1 构成的字符串,每次操作可以删除任意一个字符,记这次操作为删除的字符的下标。问至少需要多少次才能把原字符串变成 01 交替的, 以及有多少种不同的操作序列。 Solution 对于第一问,显然每段连续的 0 或 1 都要删除到只剩一个。假设由 \(k\) 阅读全文
posted @ 2024-01-28 12:49 __Star_Sky 阅读(16) 评论(0) 推荐(0) 编辑
摘要:Description 给定一个由字符 A 和 B 组成的字符串。一开始你没有硬币。你可以执行两种类型的操作: 选择子字符串 AB,将其改为 BC,并获得一枚硬币。 选择子字符串 BA,将其改为 CB,并获得一枚硬币。 问最多能获得多少硬币? 注意,这里说的子字符串必须是连续的。 Solution 阅读全文
posted @ 2024-01-28 12:47 __Star_Sky 阅读(12) 评论(0) 推荐(0) 编辑
摘要:Solution 自己手造几个样例,可以发现,一段连续的正数或负数一定同时选或不选。这是因为只选连续的正数段一定是最优的,如果要选负数一定是因为正数段个数太多,要通过选负数将两个正数段合并以减少段数。因此,可以先将连续的正数和连续的负数合并。这样一来,原来的序列变成了正负交替的新序列。 如果新序列正 阅读全文
posted @ 2024-01-28 12:45 __Star_Sky 阅读(9) 评论(0) 推荐(0) 编辑
摘要:Description 给定一个长度为 \(n\) 的整数序列和一个整数 \(k\),你需要进行一次操作,任意选择的一个长度为 \(k\) 的区间并将该区间按升序排序。求能够得到的字典序最大的序列。 Solution 首先,由于是按升序排序,得到的新序列的字典序一定不会比原序列大。当且仅当原序列中存 阅读全文
posted @ 2024-01-28 12:44 __Star_Sky 阅读(15) 评论(0) 推荐(0) 编辑
摘要:Description 给出 \(T\) 组询问,每次询问给出一个正整数 \(n\),是否存在一个长度大于等于 \(2\) 的正整数数列 \(x_1,x_2,x_3 \dots x_k\),使得该数列满足满足以下条件: \(x_1+x_2+\dots+x_k=n\) \(\operatorname{ 阅读全文
posted @ 2024-01-28 12:44 __Star_Sky 阅读(20) 评论(0) 推荐(0) 编辑
摘要:双倍经验:P2448 题意简述 给定一个数列 \(1,2,3\dots n\) 和 \(k\) 次操作,每次操作交换数列中下标为 \(x\) 和 \(y\) 的数。求最终数列中有多少个逆序对。其中 $n,x,y\le2{31}-1,k\le105 $。 前置知识 树状数组,离散化 Solution 阅读全文
posted @ 2024-01-28 12:42 __Star_Sky 阅读(3) 评论(0) 推荐(0) 编辑
摘要:双倍经验:CF540E 题意简述 给定一个数列 \(1,2,3\dots n\) 和 \(k\) 次操作,每次操作交换数列中下标为 \(x\) 和 \(y\) 的数。求最终数列中有多少个逆序对。其中 $ n,x,y\le 2^{31}-1, k\le 10^5 $。 前置知识 树状数组,离散化 So 阅读全文
posted @ 2024-01-28 12:41 __Star_Sky 阅读(5) 评论(0) 推荐(0) 编辑
摘要:本博客同步于本人的洛谷博客。2024.1.28及之前的内容均为本人在洛谷博客上的内容。 阅读全文
posted @ 2024-01-28 12:39 __Star_Sky 阅读(4) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示