second 140e abc sum
[ABC267F] Exactly K Steps 题解
[ABC267F] Exactly K Steps 题解 思路 首先发现,如果对于查询 \((u, k), k > 0\) 可行,那么对于 \((u, k - 1)\) 也一定可行,因为往回走一步就可以了,所以对于一个点可以找到离它最远的点,根据直径的结论,这个点一定是直径的端点之一。 为了方便做, ......
AtCoder_abc334
AtCoder_abc334 A - Christmas Present 题目描述 输入两个数 \(B,G(B \neq G)\) ,若 \(B\) 大,输出 Bat ,否则输出 Glove 。 解题思路 无 Code // Problem: A - Christmas Present // Con ......
AtCoder Regular Contest 168 E Subsegments with Large Sums
洛谷传送门 AtCoder 传送门 尝试二分答案,问题变为要求恰好选 \(x\) 段 \(\ge s\),最大化选的段数。 发现我们不是很会算段数的 \(\max\),因为要求段不重不漏地覆盖 \([1, n]\)。考虑给每个 \(\ge s\) 段 \([l, r]\) 一个 \(r - l\) ......
Atcoder ABC 333 F - Bomb Game 2
题目大意(采用0#语言):有n个人,每个人每次要么被“炸掉”,要么就被移到最后面去,概率都是1/2,求最后只剩下初始时排名为第i的人的概率。 这道题跟人数有关,而且跟位置有关。 我们定义dp[i]表示一共有i个人,第i个为最后一位留下来时的概率。 (不想写公式) 定义j从0到i - 1,表示从前面i ......
[ABC265F] Manhattan Cafe 题解
[ABC265F] Manhattan Cafe 题解 思路解析 很有思维难度的一道题。思路是dp,\(f[i][j][k]\) 表示已经计算了 \(i\) 维,距离点 \(p\) 的距离为 \(j\) ,距离点 \(q\) 的距离为 \(k\) 时的整点 \(r\) 个数,由此可见我们的每一维都可 ......
ABC334 全套题解
A - Christmas Present 简单题。 void slv() { int a = Read<int>(), b = Read<int>(); if (a > b) Puts("Bat"); else Puts("Glove"); return; } B - Christmas Tree ......
题解 ABC334F【Christmas Present 2】
设 \(f_i\) 表示假设只有编号为 \(1\sim i\) 的点,此时的答案。\(f_n\) 即为所求。 显然有: \[f_i=\min\limits_{i-k\le j < i}\{f_j+dis(s\to j+1\to j+2\to\cdots\to i)\}+dis(i\to s) \]当 ......
题解 ABC334E【Christmas Color Grid 1】
先求出初始时绿连通块数量。 枚举每个红色格子,将其染成绿色本应增加一个绿连通块,但是它每与一个绿连通块相邻,就又会减少一个绿连通块。根据上述规则可以求出每个红色格子染绿后的绿连通块数量,求平均值即可。 时间复杂度 \(O(nm)\)。 // Problem: E - Christmas Color ......
题解 ABC334G【Christmas Color Grid 2】
先求出初始时绿连通块数量。 将一个绿色格子染成红色,会改变绿连通块数量,当且仅当这个绿色格子是孤点或割点。如果是孤点,会使得绿连通块数量减少一;如果是割点,会使得绿连通块数量增加它所在的点双数量减一。根据上述规则可以求出每个绿色格子染红后的绿连通块数量,求平均值即可。 时间复杂度 \(O(nm)\) ......
ABC251G
提供一个本质相同,但是不需要会向量也能做,而且很好想的方法。 首先发现凸包点少,也就意味着边少,考虑从边的方向寻找突破口。 考虑一个凸包的本质:若干个直线划分出若干个半平面,它们的交即为这个凸包。如果一个点对于每一条直线,都在于凸包的同侧,那么这个点就在这个凸包内。 这样直接暴力做仍然是 \(O(n ......
ABC321G
其实赛时可能可以做出来的,只是打了前 6 道想下班了,有点小小遗憾。 首先问题看起来很唬人,考虑转换一下。考虑已经固定 \(m\) 条边,对于一个集合 \(S\),什么时候会不与其他点有边。容易发现,此时需要满足 \(\sum[R_i\in S]=\sum [B_j\in S]\)。记这个数为 \( ......
ABC141F
偶然找到的线性基好题。 考虑 \(s=\bigoplus x_i\),则此时 \(b=s\oplus a\),问题变为 \(\max(a+(s\oplus a))\)。 然后观察 \(s\),有一个很典的想法是,\(s\) 为 \(0\) 的位上,\(a\) 如果是 \(0\) 则会产生 \(0\) ......
「杂题乱刷」AT_abc280_d
题目链接 舒服题。 考虑贪心,我们可以直接枚举到 \(10^7\),然后将 \(n\) 一直除以 \(n\) 和 \(i(1\le i \le 10^7)\) 的最大公因数,若到 \(10^7\) 时 \(n\) 还不为 \(1\),这时直接输出 \(n\) 即可。 参考代码: 点击查看代码 /* ......
「杂题乱刷」AT_abc280_e 题解
题目链接 期望 dp 板子题,我们直接设 \(dp_i\) 为怪物血量只剩下 \(i\) 时的概率即可,状态转移方程也很简单了,详见代码。 参考代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #i ......
[ABC265E] Warp
首先,这一题很显然是一个 Dp。 考虑如何转移状态,因为一开始的坐标是 \((0,0)\)。 发现最后的坐标是 \((A\times i + C \times j + E \times k,B\times i + D \times j + F \times k)\)。如果是统计最后的种类的话,那么就 ......
『LeetCode』1. 两数之和 Two Sum
『1』暴力法 class Solution { // Brute Force // Time Complexity: O(n^2) // Space Complexity: O(1) public int[] twoSum(int[] nums, int target) { for (int i = ......
AtCoder_abc333
AtCoder_abc333 比赛链接 A - Three Threes 题目描述 输入一个 \(N\) 输出 \(N\) 个 \(N\) 。 解题思路 (这个题但凡学过都能写出来吧) Code // Problem: A - Three Threes // Contest: AtCoder - T ......
ABC265 复盘
ABC265 复盘 At 链接 LG 链接 [ABC265A] Apple 思路解析:判断一下一次性买 3 个便宜还是 3 个分开买便宜,选更便宜的方法尽量多买剩下的单独买即可。 #include<bits/stdc++.h> using namespace std; int n, x, y; in ......
LeetcodeCN: 209 - Minimum Size Subarray Sum
Question: Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or ......
AT_abc323_f [ABC323F] Push and Carry 题解
不难发现答案的下界为 \(|x_b-x_c|+|y_b-y_c|\),这是每步都推箱子的情况。 但很多时候并不能直接开始推箱子,所以人要先移动到箱子的后面(相对于目的地),再把箱子往目的地推。 比如这种情况(B 为箱子,C 为目的地): B.. ... ..C 推完箱子的一边后,还要走到另一边: ↓ ......
AT_abc325_e [ABC325E] Our clients, please wait a moment 题解
原题传送门 最短路板题。 乘坐的过程一定是先车再火车(如果有),假设换车地点为 \(x\),那么最小代价为坐车从 \(1\) 到 \(x\) 与坐火车从 \(x\) 到 \(n\) 的最小代价之和,分开跑最短路即可,时间复杂度 \(O(n^2\log n+n)\)。 code: #include<i ......
[ARC107F] Sum of Abs
[ARC107F] Sum of Abs 发现点数比较少,考虑最小割 我们最大可能的答案为 \(\sum|b_i|\) ,现在考虑减去多余答案 首先点可以不选,于是拆点,之间边权为 \(a_i+|b_i|\) 钦定割完之后,和 \(S\) 连通的点最终取正数,和 \(T\) 连通的点最终取负数,于是 ......
Atcoder ABC 333 题解(A - F)
ABC 不讲 D 待更 E 待更 F 设 $ f(i, j) $ 为有 $ i $ 个人时,第 $ j $ 个人活到最后的概率,显然: \[ f(i, j) = \begin{cases} 1, & i = 1, j = 1 \\ \frac{1}{2}f(i, i), & i \neq 1, j ......
[ABC325G] offence
题意 给定一个长度为 \(n\) 字符串以及一个数 \(f\),你可以执行以下操作任意次,求最终字符串长度的最小值。 在字符串中选择一个连续的 of,删掉它以及它后面的 \(i\) 个字符,\(0 \le i \le f\)。 数据范围:\(n \le 300\)。 思路 看到数据范围以及字符串中间 ......
[ABC318F] Octopus 题解
前言 赛时只做到了 E 题,赛后才来补的 F 题,还没做出来,看来还是我太菜了。看了题解过后感觉这道题的思路特别巧妙,于是就来写了这篇题解。 题意 简述一下题意。 有 \(n\) 个宝藏位置分别在 \(a_{i}\),另外有一只章鱼有 \(n\) 条触手,每条触手的长度为 \(b_{i}\)。 求有 ......
[ABC318G] Typical Path Problem 题解
原题链接:ABC318G 显然是圆方树。 点双缩点过后建立一颗以点 \(c\) 为根节点的圆方树,考虑什么情况是合法的。 从点 \(a\) 开始往上跳直到跳到点 \(c\),如果中间走过了某一个方点并且这个方点与 \(b\) 点有直接连边,那么就是合法的;否则不合法。 证明:如果路径中所经过的方点和 ......
[ABC315G] Ai + Bj + Ck = X (1 <= i, j, k <= N) 题解
原题链接:ABC315G 前置知识:扩展欧几里得算法。如果还不会扩欧的话,建议先去做这道题。 题意 给定 \(n,a,b,c,k\)。求有多少个 \(x,y,z(x,y,z \le n)\) 满足 \(ax+by+cz=k\)。 思路 首先看到题目给出的方程式:\(ax+by+cz=k\)。我们会发 ......
Sum of XOR Functions 题解
题意 给定一个数 \(n\) 和一个包含 \(n\) 个数的序列 \(a\),求出以下式子模 \(998244353\) 的值: \(\sum_{i=1}^{n}\sum_{j=i}^{n} f(i,j)\times (j-i+1)\)。 其中 \(f(i,j)\) 的值为 \(a_{i}\oplu ......
[ABC239Ex] Dice Product 2 题解
原题链接:ABC239Ex。 题意不多赘述。 看到求期望值,我们想到可以用期望 DP。 设 \(dp_{i}\) 表示最终结果大于等于 \(i\) 时的操作次数的期望值。 那么我们可以得到一个基本的状态转移方程:\(dp_{i}=\frac{1}{n} \times \sum_{j=1}^{n}dp ......