affine 126f sort arc

Day20.匿名函数的两种调用方式_max用法_min用法_sorted用法_map用法_filter用法_reduce用法

1.匿名函数的两种调用方式: 2.匿名函数求最大和求最小: 3.sorted用法和map用法: 4.filter的用法: 5.reduce的用法: ......
函数 方式 filter sorted reduce

E. Permutation Sorting 树状数组实现离线区间数点

题目链接🔗 题意解读:给定一串数组a,每次操作将所有的 a[i] != i 的数循环右移一位,直到所有的数都在自己的位置上。求对于1到n之间的每个i,需要移动多少次。 首先,先考虑移动次数的问题: 为了简化循环问题,考虑将数组长度手动扩充至 2 * n,对于所有的位置 i 上的一个 a[i] ,分 ......
数组 区间 Permutation Sorting

ARC110F Esoswap

题意 给定一个序列,每次操作 \(swap(p_i, p_{(i + p_i) mod N})\)。 求将她变得有序的方案。 Sol 我们考虑对于一个位置不断的操作,发现最后一定会变成 \(0\)。 我们设她为 \(p_x\)。 考虑操作 \(p_{x - 1}\)。 发现当 \(p_{x - 1} ......
Esoswap 110F ARC 110

arc168b

https://atcoder.jp/contests/arc168/tasks/arc168_b 不会博弈,但是会乱搞 首先直接判断-1的情况 然后我们直接考察最大值能不能取到 假设存在一个数ai \(a_1\oplus a_2 ...\oplus(a_i-x)\oplus...a_n\)=max ......
168b arc 168

[ARC105E] Keep Graph Disconnected

题目链接 好题。 如果 \(1\) 和 \(n\) 一直联通,开始即结束。 如果 \(n\mod 4=1\),那么 \(\frac 12x(x+1)+\frac12(n-x)(n-x+1)\) 为偶数。 如果 \(n\mod 4=3\),那么 \(\frac 12x(x+1)+\frac12(n-x ......
Disconnected Graph 105E Keep ARC

[ARC168E] Subsegments with Large Sums

题目链接 看到严格选 \(k\) 个,不难想到 WQS二分。定义 \(f(x)\) 为分成 \(x\) 段,最多有多少个超过 \(S\) 的。然后你会发现他不是凸的。因为他有很多平段,比如把两个很小的合并不改变答案。 换个方向? 考虑定义 \(f(x)\) 为有 \(x\) 个超过 \(S\) 的段 ......
Subsegments Large 168E with Sums

ARC66 D Interval Counts 题解

Link ARC66 D Interval Counts Question 给定正整数 \(n\) 和长度为 \(n\) 的序列 \(x_i,y_i\) 保证 \(x_i\) 单调递增,你需要构造 \(m\) 个去年 \([L_i,R_i]\) ,\(m\) 有你指定,使得每个 \(x_i\)恰好被 ......
题解 Interval Counts ARC 66

ARC166 C LU/RD Marking

Link ARC166 C LU RD Marking Question 给一个 \(n\) 行 \(m\) 列的网格,它的所有网格线上共有 \(n(m+1)\) 条竖边,有 \((n+1)m\) 条横边 有如下两中操作 选一个上面和左边的网格线没有被涂黑的格子,并涂黑着两条线 选一个下面和右边的网 ......
Marking ARC 166 LU RD

ARC166 A Replace C or Swap AB 题解

Link ARC166 A Replace C or Swap AB Qustion 给出两个长度相同的由 \(A,B,C\) 组成的字符串 \(X\) 和 \(Y\) 。 需要使用一些操作使得 \(X\) 和 \(Y\) 一样 将 \(X\) 中的 \(C\) 换成 \(A\) 将 \(X\) 中 ......
题解 Replace Swap ARC 166

[ARC168E] Subsegments with Large Sums

有点意思的简单题。 答案有可二分性。合并两段,显然仍然合法。 考虑如何 check。因为答案可以被二分,我们尝试求恰好 \(x\) 段就行了。 恰好,这是 wqs 二分的内容。如何设计一个与 \(x\) 有关的凸函数呢? 这个函数大概是 \(\sum_{i=1}^x w(l_i, r_i)\) 的形 ......
Subsegments Large 168E with Sums

[ARC117E] Zero-Sum Ranges 2题解

题解 前言 个人认为官方题解写得最为详细、干净、清楚,如果有意向阅读外文版的题解的话,还是推荐去读一读: Editorial - AtCoder Regular Contest 117 本文属于转载(?),有一些自己的思考过程,希望有帮助。 题意 有多少个长度为 \(2N\) 的序列 \(A\) 满 ......
题解 Zero-Sum Ranges 117E Zero

golang sort包应用

一、sort内置排序函数 函数 作用 func Float64s(x []float64) 对float64类型的切片进行升序排序 func Float64sAreSorted(x []float64) bool 判断float64类型切片x是否按升序排序 func Ints(x []int) 对i ......
golang sort

P5143 攀爬者(结构体+sort排序)

P5143 攀爬者 sort排序: 对于数组而言 sort(数组+begin,数组+stop)(左闭右开) 例: sort(a+1,a+n+1)=sort(a[1]~a[n]) 对于结构体 在数组基础上多一个cmp 运用:sort(数组+begin,数组+stop,cmp) cmp本身需要定义一个函 ......
攀爬者 结构 P5143 5143 sort

ARC168F

纪念一下第一次补完 ARC 的所有题。 本题解介绍 \(2 log\) 做法,需要卡常才能过。 感谢 @Rainbow_qwq 大佬的耐心讲解,拜谢拜谢拜谢。 首先注意到每次操作是前后缀修改,自然想到维护差分数组。 假设当前操作到了 \(a_i\),那么差分数组的 \(a_i\) 这位加 \(2\) ......
168F ARC 168

ARC168(A-C)题解

比赛链接:arc168 A 题意: 读入一个由<和>构成的字符串,在最开始,最后,字符之间可以填上任意数字,任意两个相邻数字之间必须满足字符代表的大小关系。求问最后填入的数字组成的数组最少有多少对逆序对。 题解: 签到。 <可以不去考虑,因为不会对答案造成影响。 >如果不是在连续段内,也可以不去考虑 ......
题解 ARC 168 A-C

ARC168F Up-Down Queries

考虑一次询问怎么做: 我们想求的答案就是 每次减时为 \(0\) 的位置个数之和(这些位置会与 \(0\) 取 \(\max\) 从而使答案变大) + \(\sum (m-2\times a_i)\)(所有操作的总和)。 考虑维护 \(y\) 的差分数组,分析一次操作 \([1,x]\) 减 \(1 ......
Up-Down Queries 168F Down ARC

ARC144E GCD of Path Weights

Description 给定 \(n\) 个点,\(m\) 条边的有向图,图中的任意一条有向边满足 边起点的编号小于边终点的编号。每个点有点权,但其中有些点的点权未知。 你需要找到一种给未知点权值的方案,使得 所有 \(1\to n\) 的路径点权和的最大公因数最大,或者告知答案可以无限大。输出这个 ......
Weights 144E Path ARC 144

ARC168E

简要题意 给定一个长度为 $n$ 的序列 $a$,将 $a$ 划分为 $k$ 个连续段,最大化满足连续段中元素和 $\geq s$ 的连续段数。 题解 首先发现是恰好 $k$ 个连续段,这种类型的题套路地考虑 wqs 二分,然后你会惊喜的发现这玩意不是凸的,我的思考也就卡在这里了。 正确的做法是观察 ......
168E ARC 168

Princeton Algorithms, Part I week3 Quick Sort

Quick Sort 今天学习quick sort,quick sort的基本思想是有一个数组,先shuffle以后,保证数组的item位置是均匀分布的,选择一个item然后,把所有比这个item大的放在item右边,所有比这个item小的放在左右,然后递归的进行这个操作,如下图所示 这里面的par ......
Algorithms Princeton week3 Quick Part

Atcoder 中高分段 选做 与 ARC vp

开坑,主推红题和铜牌题,来源乱七八糟,目前一部分来自学校给的。 一眼秒了标绿,想了很久或是接受了提示标蓝,看了题解或者认为题很难标红。意义重大标星。很主观(然后发现其实基本上大多数题都不会,狠狠地难过了)。 以后有时间可能会开始板刷 ARC,现在,还是,慢慢来吧。 upd-2023-10-30:和 ......
Atcoder ARC vp

重写Java中Arrays数组工具类提供的sort()排序函数中的比较器类Comparator的compare()方法!

排序方法是我们日常开发或者写功能函数,或者实现算法时,常调用的方法。 有时甚至,开发人员自己还要写一写排序算法。 今天,我们来修改Java官方提供的Arrays工具类中的静态排序sort()方法。 反问一下,为什么要重写呢? 官方提供的还不够你用? 回答:确实不够用,官方默认是对数字,特别是sort ......
数组 Comparator 函数 compare 工具

sort

sort学习笔记: 基本认识: sort并非只是普通的快速排序,除了对普通的快速排序进行优化,它还结合了插入排序和堆排序。根据不同的数量级别以及不同情况,能自动选用合适的排序方法。 头文件: 在C++中使用sort()函数需要使用#include<algorithm>头文件。algorithm意为" ......
sort

使用Linux命令sort及uniq对文件或屏幕输出进行分组统计

sort demo.txt | uniq -c | sort -rn | head -3 在日常Linux操作常常需要对一些文件或屏幕数次中重复的字段进行分组统计。 实现的方法非常简单,核心命令为:sort | uniq --c | sort -rn 。 sort:对指定列进行排序,使该列相同的字段 ......
命令 屏幕 文件 Linux sort

[ARC106F] Figures 题解

题意 给定 \(N\) 个带有若干洞的节点,其中第 \(i\) 个点上有 \(d_i\) 个洞。 先可以在两个不同的节点的洞之间连边,一个洞最多连一条边,求使得最终形成的图是一棵树的方案数,对 \(998244353\) 取模。 洞之间相互区分,两个方案不同当且仅当存在一条边在两个方案中的连的洞不同 ......
题解 Figures 106F ARC 106

[ARC160C] Power Up

题目描述: 给出一个大小为 \(N\) 的可重集 \(A=\lbrace\ A_1,A_2,\dots,A_N\ \rbrace\)。 你可以执行若干次如下操作(也可以不执行)。 将两个 \(x\) 合并成一个 \(x+1\)。 输出最终可能的集合个数对 \(998244353\) 取模的结果。 数 ......
Power 160C ARC 160 Up

AT_arc154_b

题目简述 输入两个字符串 \(S\) 和 \(T\),将他们进行如下操作: 将 \(S\) 字符串的第一位删掉,放在任意一位。 问最少多少次以后可以让 \(S\) 和 \(T\) 相等。 思路简述 看到这个题目以后,第一个想到的就是搜索,暴力搜一遍。但是仔细想来倒也不用这么麻烦,只需要特判一下就可以 ......
AT_arc 154 arc AT

[ARC107F] Sum of Abs 题解

题意 给定一个 \(N\) 个点,\(M\) 条边的简单无向图,每个节点有两个值 \(A_i\) 和 \(B_i\)。 现对于每个节点,均可以选择花费 \(A_i\) 的代价将其删去或保留节点。若一个节点被删除,那么所有与其向连的边也会被删除。 定义一个极大联通块的权值为联通块内所有节点的 \(B_ ......
题解 107F ARC 107 Sum

在ARC(自动引用计数)下,IBOutlets 应该是强引用(strong)还是弱引用(weak)?

内容来自 DOC https://q.houxu6.top/?s=在ARC(自动引用计数)下,IBOutlets 应该是强引用(strong)还是弱引用(weak)? 我正在使用 ARC(自动引用计数)专门为 iOS 5 进行开发。在这种情况下,指向 UIView(及其子类)的 IBOutlet 应 ......
IBOutlets 还是 strong weak ARC

[ARC123E] Training

多测,求值 \[\sum_{i=1}^{n}\Big[a+\lfloor\frac{i}{b}\rfloor=c+\lfloor\frac{i}{d}\rfloor\Big] \]\(1\le T\le 2\times 10^5\),\(1\le n\le 10^9\),\(1\le a,b,c,d ......
Training 123E ARC 123

Princeton Algorithms, Part I week2 Merge Sort

Merge sort 今天学习merge sort 这个排序算法的思想就是,不停的将数组二分,再将两个子数组不停归并。其中有一个操作叫merge如下图所示。左右两边两个部分是有序的,然后思想也很简单 有两个指针i和j,i指向lo,j指向mid+1,然后比较两个指针所指的大小,如果小就选出来排到数组中 ......
Algorithms Princeton Merge week2 Part