balanced regional contest array

Leetcode 34. Find First and Last Position of Element in Sorted Array

题解 用了两次二分,分别计算第一个>=target的元素位置和第一个>target的元素位置。闭区间二分,[l,r]是未知的,保证每次答案都在[l,r]中,定义清楚nums[l-1]和nums[r+1]和target的关系。因为是while(l < r),所以到l == r时跳出循环,分析l == ......
Leetcode Position Element Sorted Array

数据结构与算法 | 数组(Array)

数组(Array) 数组(Array)应该是最基础的数据结构之一,它由相同类型的元素组成的集合,并按照一定的顺序存储在内存中。每个元素都有一个唯一的索引,可以用于访问该元素。 // java 数组示例 int[] numbers1 = {2,0,2,3,9,23}; // 或者 int[] numb ......
数据结构 数组 算法 结构 数据

561、Array Partition

Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of ......
Partition Array 561

AtCoder Beginner Contest 180 F Unbranched

洛谷传送门 AtCoder 传送门 首先进行一个容斥,把连通块最大值 \(= K\) 变成 \(\le K\) 的方案数减去 \(\le K - 1\) 的方案数。 考虑 dp,设 \(f_{i, j}\) 表示当前用了 \(i\) 个点,\(j\) 条边。转移即枚举其中一个连通块的大小 \(k\) ......
Unbranched Beginner AtCoder Contest 180

2023 Hubei Provincial Collegiate Programming Contest

\(B. Mode\) 利用数位 \(dp\) 求数字众数,那么在相同的位数下,相同的个数即为相同,用 \(map\) 记忆化搜索。 int num[20],len=0; map<pair<int,vector<int> > ,int>mp; int dfs(int pos,vector<int> ......

AtCoder Beginner Contest 324 DF题题解

比赛链接 D - Square Permutation 其实比较简单,但是比赛时候脑子不转了,竟然在尝试枚举全排列,然后算了一下复杂度直接不会做了。 正解应该是枚举完全平方数,底数枚举到 \(sqrt(10^{14})\) 即可,因为 n 最大为 13。 然后统计一下这个完全平方数各个数字出现了多少 ......
题解 Beginner AtCoder Contest 324

AtCoder Beginner Contest 324

D - Square Permutation 须知:最大的平方数的平方一定小于等于10n,平方数最多为10(n/2)(因为再大会越界) 因为要求的数一定是原数的排列组合,所以它们的元素和对应的元素个数一定相同 所以只要判断平方数的字符串是否与原字符串相等即可(这里可以利用排序判断) 点击查看代码 # ......
Beginner AtCoder Contest 324

[LeetCode] 1354. Construct Target Array With Multiple Sums 多次求和构造目标数组

You are given an array target of n integers. From a starting array arr consisting of n 1's, you may perform the following procedure : let x be the sum ......
数组 Construct LeetCode Multiple 目标

Atcoder Beginner Contest 324 F Beautiful Path 题解-分数规划

为了更好的阅读体验,请点击这里 分数规划小技巧:尽可能将式子写成存在某种取值,使得不等式成立的形式。 不然可能需要绕几个弯才能想出来。 题目链接 题目大意:给出一个 DAG,每条边有一个 \(b_i, c_i\),保证从编号小的边向编号大的边连边,且 \(1\) 到 \(n\) 必有路径,求 \(1 ......
题解 Beautiful 分数 Beginner Atcoder

2022 China Collegiate Programming Contest (CCPC) Guilin Site(持续更新)

Preface 由于还有两周就要滚去打区域赛了,这周开始周末每天都训一场吧 这场总体来说打的还可以,虽然E题这个Easy从卡局卡到3h,但由于其它的题都是一遍过所以罚时还尚可跻进Au区 后面一个小时看徐神和祁神苦战K大分类讨论,虽然场下感觉摸了一个B的做法出来,但感觉实现还是太麻烦了就没写,最后K也 ......
Programming Collegiate Contest Guilin China

Educational Codeforces Round 116 (Rated for Div. 2) A. AB Balance

给一个长为 \(n\) 的字符串 \(s\) ,只包含 \(0\) \(1\) 两种字符。定义 \(AB(s)\) 是 \(s\) 中出现的 \(01\) 子串个数,\(BA(s)\) 是 \(s\) 中出现的 \(10\) 子串个数。 在一步操作中,可以选择一个字符进行异或。询问最小的操作次数使得 ......
Educational Codeforces Balance Round Rated

AtCoder Beginner Contest 321 C-321-like Searcher

可以观察到0-9的所有子集都能恰组成一个满足题目条件的数字,所以共有1022个数{除空集和0} 方法就是二元枚举,找出所有数然后排序。 #include <iostream> #include <cstdio> #include <vector> #include <algorithm> using ......
321 Beginner Searcher AtCoder Contest

CF1439D INOI Final Contests

先总结一些充要条件。 一个人 \(i\) 选不到自己的 \(a_i\) 的充要条件为:若为左侧,则存在左侧的一个 \(j\) 满足 \(a_k\in[j,i]\) 且 \(b_k=R\) 的 \(k\) 的个数 \(> i-j\),右侧同理,满足其一即可。 一个方案不合法的充要条件为,若对于一个 \ ......
Contests 1439D Final 1439 INOI

2021 China Collegiate Programming Contest (CCPC) Guilin Site

A. A Hero Named Magnus #include <bits/stdc++.h> using namespace std; #define int long long using pii = pair<int, int>; using vi = vector<int>; void so ......
Programming Collegiate Contest Guilin China

AtCoder Regular Contest 166

Preface 上周末因为上课而且这天下午还有CF要打,所以就没现场打这场ARC了 这两天事情也特别多导致写题的时间很少,摸了好久总算是补了四个题 A - Replace C or Swap AB 感觉是我做法复杂了,怎么A题码量好大 首先我们找到所有\(Y\)中为\(C\)的位置,显然对应的\(X ......
AtCoder Regular Contest 166

2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest (Online Mirror, ICPC Rules) N. Waste Sorting

有五种种类的垃圾,数量分别为 \(a_1, a_2, a_3, a_4, a_5\) 。 第一种为纸质垃圾 第二种为塑料垃圾 第三种双非垃圾 第四种基本纸质垃圾 第五种基本塑料垃圾 有三种垃圾桶,容量分别为 \(c_1, c_2, c_3\) 。 第一种垃圾桶可以放入:纸质垃圾和基本纸质垃圾 第二种 ......
ICPC Southern Regional Contest Russian

[AGC001D] Arrays and Palindrome 题解

非常有意思的思维题。 首先我先瑞平一下翻译,我根本没看懂,还是去看英文题面看懂的。 首先可以发现整个字符串被拆成了若干个奇回文串与偶回文串。现考虑如何判是否合法。可以发现一个回文串就是要求部分位置匹配。我们对这些匹配的位置建边,如果得到的图是联通的,那么就只能填入 \(1\) 种字符,否则就可以填入 ......
题解 Palindrome Arrays 001D AGC

The 2021 Sichuan Provincial Collegiate Programming Contest

\(E. Don’t Really Like How The Story Ends\) \(dfs\)的时候如果一个点没有子节点,可以回溯,在父节点上找后续节点。如果找到了一个更大的节点,那么必须要与当前目标连接,然后回溯回来的时候如果目标值比当前的值更小说明仍有后续节点可以用,必须还在这个节点接后 ......

CF1610B [Kalindrome Array]

Problem 题目简述 给你一个数列 \(a\),有这两种情况,这个数列是「可爱的」。 它本身就是回文的。 定义变量 \(x\),满足:序列 \(a\) 中所有值等于 \(x\) 的元素删除之后,它是回文的。 思路 首先考虑暴力。暴力枚举数组中的每一个数,当作变量 \(x\),然后进行回文检验。 ......
Kalindrome 1610B Array 1610 CF

CF1707B [Difference Array]

Problem 题目简述 设序列 \(a\) ,并且是单调递增的。设 \(a\) 当前长度为 \(l\),你要对 \(a\) 作差分,即令 \(b_i = a_{i+1} - a_i(1\le i < l)\),然后使 \(b\) 数组保持单调递增。 一直持续操作,直到 \(a\) 数组中只有一个元 ......
Difference 1707B Array 1707 CF

Arrays、Lambda

Array.sort() 对对象进行排序 Lambda ......
Arrays Lambda

2023.10.10 js.Array和js.String

1 定义数组 2 1.var arr = new Array{1,2,3,4...}; 3 2.var arr = [1,2,3,4]; 4 访问 5 arr[索引] = 值 6 7 同一数组的类型可变,长度可变。 8 9 Array中的属性和方法 10 arr.length//获取数组长度 11 ......
String Array 2023 10 js

Atcoder Grand Contest 016 E - Poor Turkeys

先思考这样一个问题:对于一只火鸡 \(i\),我们应该如何判断它最后是否能活下来。如果我们正着判断,我们其实并没有足够的证据表明每一次操作我们应该保留哪只火鸡,也就没法判断最终的答案。但是如果我们倒着考虑,我们发现,如果最后一次操作的两个火鸡都不是 \(i\),那么这次操作选啥对答案没有影响,而如果 ......
Atcoder Contest Turkeys Grand Poor

CF1054D Changing Array

题意 给定 \(n\) 个小于 \(2 ^ k\) 的数。 可以任意让若干数 \(xor\) \(2 ^ k - 1\)。 问使得最终区间 \(xor\) 不为 \(0\) 的最大个数。 Sol 考虑前缀异或和。 记异或和的数组为 \(s\)。 现在一个区间的贡献变为 \(s_r \oplus s_ ......
Changing 1054D Array 1054 CF

April Fools Day Contest 2021 A. Is it rated - 2

询问若干个问题,每个问题用一段字符串表示,存在空格。每个问题一行,对于每个回答,只需要输出 \(NO\) 。 view1 #include <bits/stdc++.h> char s[1000005]; void solve(){ while (fgets(s, 1000005, stdin) ! ......
Contest April Fools rated 2021

[abc306h/ex] Balance Scale

Ex - Balance Scale 考虑只有>和<的情况,相当于给每条边定向,当且仅当成环时不合法,那么方案数就是\(DAG\)的方案数 对于=,就是将两个点合并 然后对于一般的求\(n\)个点的\(DAG\)的方案数为\(\sum_{i=1}^n (-1)^{i+1}C_n^i2^{i\time ......
Balance Scale abc 306 ex

2021-2022 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2021) gym 104670 C

原题 容易想到最短路 DAG 求出来,起初我以为要求最小割,但这是错误的,因为可能有多条边联通了一个点的情况,这时候选择最小割不一定是最优的 我们猜想一个思路:答案一定是包含 \(1\) 号节点的连通块全部填 \(N\) ,剩下的填 \(S\) 。发现在最短路 DAG 中, \(1 \rightar ......
2021 Programming Collegiate ACM-ICPC Contest

AtCoder Regular Contest 166——A - Replace C or Swap AB

题目描述 中文题目描述 每个字符串的长度为N,由A, B和C组成。 通过对X执行以下三种操作任意次数(可能为零),确定是否有可能使X与y重合。 操作(1):选择X中的字符C替换为字符A。 操作(2):在X中选择字符C替换为字符B。 操作(3):选择X中的子字符串AB,替换为BA。更正式地说,选择一个 ......
AtCoder Regular Contest Replace Swap

Educational Codeforces Round 110 (Rated for Div. 2) Array Reodering

给一个长为 \(n\) 的数组 \(a\) 。 定义一对 \(pair(i, j)\) 是 \(good\) 的当且仅当 \(1 \leq i < j \leq n\) 且 \(gcd(a_i, 2 \cdot a_j) > 1\) 。 如果你可以以任意顺序重排数组 \(a\) ,找到最多的 \(g ......
Educational Codeforces Reodering Array Round

Educational Codeforces Round 152 (Div. 2) D. Array Painting(双指针)

Educational Codeforces Round 152 (Div. 2) D. Array Painting //思路:双指针找连续正数段 //若段中出现2,则更新两头的0的情况,若为涂色则改为true //若无2,则优先更新左侧0,若左0已经为true,则更新右侧0 //数组开头结尾特判 ......
指针 Educational Codeforces Painting Array