题解computational geometry p9702

CF1746F Kazaee 题解

对集合的一些判断可以考虑随机化哈希。 给每个数随一个权,如果集合 \(S\) 中每个数的出现次数都是 \(k\) 的倍数,那 \(S\) 中元素的权值之和就会是 \(k\) 的倍数,否则会是一个在 \([0,k)\) 中随机的值。 也就是说如果这个集合不满足要求,我们做一次这个检测,有 \(\fra ......
题解 Kazaee 1746F 1746 CF

Vue3 computed 计算属性函数使用

Vue3 computed 计算属性函数使用 computed函数在vue2中我们都了解过,当我们需要一个值,这个值随着其他值变化而变化,我们就将其放进computed中,computed是用来定义计算属性的。 1. 基本使用:只读 <template> <div> <div>计算属性</div> ......
函数 computed 属性 Vue3 Vue

CF888E题解

分析 看到 \(n \leq 35\) 的数据范围就想到了 meet-in-middle。 先爆搜出对于 \(1 \sim \frac{n}{2}\) 和 \(\frac{n}{2} \sim n\) 两个下标范围内在模意义下所有的和。 然后用一个常见 trick,就是枚举第二个部分的和,然后匹配第 ......
题解 888E 888 CF

P9754 [CSP-S 2023] 结构体 题解

大模拟的话,大家应该都会,主要就是容易写挂。 操作 1 先理解什么叫做对齐规则。这点我们以样例 2 进行解释: struct a { int aa; short ab; long ac; byte ad; } 那么 aa 占据了 \(0\text{~}3\) 字节的地址,ab 占据了 \(4\tex ......
题解 结构 P9754 CSP-S 9754

CCC 2023 题解 和 思考过程

Trianglane 水题,只要分情况判断中间和两侧有边叠牢的情况,每次减2 #include <iostream> #include <cstdlib> #include <cstdio> #include <cmath> #include <algorithm> #include <cstrin ......
题解 过程 2023 CCC

「题解」Codeforces Round 905 (Div. 3)

before 终于有一篇题解是一次性更所有题的了。 A. Morning Problem A. Morning Sol&Code 根据题意模拟即可。 #include <bits/stdc++.h> typedef long long ll; int min(int a, int b) { retu ......
题解 Codeforces Round 905 Div

CSP-S2023 T3结构体 题解

T3 结构体 考完试后补题,才发现这玩意不难搞出来。 这篇题解用了较多代码块,可以依需要看每一部分的代码。 题面好长看不懂,看提示。 【提示】 对于结构体类型的对齐要求和大小,形式化的定义方式如下: 设该结构体内有 \(k\) 个成员,其大小分别为 \(s_1,...,s_k\),对齐要求分别为 \ ......
题解 结构 CSP-S 2023 CSP

CF888B题解

分析 题意为选出最多的操作使机器人执行完仍停留在原地。 分为左右和上下两类,则每一类的可执行操作数都是操作次数最少的一种操作的二倍(因为正反操作都要执行才能抵消)。 直接统计每种操作的操作次数计算答案即可。 代码 #include <iostream> using namespace std; co ......
题解 888B 888 CF

CF888A题解

分析 因为一个数不可能同时大于并小于它两边的数,所以两种数的集合不存在交集。 所以分别扫一遍两种数的个数加在一起即可。 代码 #include <iostream> using namespace std; constexpr int MAXN(1000007); int a[MAXN]; int ......
题解 888A 888 CF

CF1555E题解

分析 观察到题面是求最小极差,想到 two-pointers。 按 \(w_i\) 大小排序,然后发现一个子段的子段的答案肯定不优于原子段。 和CF1777C以及NOI2016区间一样,选取合法左端点然后选取最大合法右端点。 值得注意的是,本题要求首尾相接,所以为了避免选取的线段无交集,将 \(r\ ......
题解 1555E 1555 CF

题解 P9809【[SHOI2006] 作业 Homework】

看到不好维护的取模相关信息,想到根号分治。设值域为 \(V\),根号分治的阈值为 \(B\)。 对于模数不超过 \(B\) 的情况,我们需要利用情况数为 \(O(B)\) 这一性质。在每次插入元素时动态维护所有情况的答案,查询时查表回答即可。 对于模数超过 \(B\) 的情况,我们需要利用商数个数为 ......
题解 Homework P9809 9809 2006

B1024 题解

本着 10 月杂题题解只记重量级的原则,再加上这个系列好久没更新了,搞一发。 原题链接 发挥还可以的一场,至少比 csp-s 发挥的好。 T1 智慧概率题,考场差点出来,30 pts。 T2 简单计数题,之前几场都卡 T2,终于出来一次,100 pts。 T3 简单数据结构题,打的 30 pts 暴 ......
题解 B1024 1024

CF1572F Stations 题解-Segment Tree Beats

20231025 CF1572F Stations 题解-Segment Tree Beats 吉司机线段树好题!!!CF3400。 传送门 Statement 有 \(n\) 个广播站,第 \(i\) 个广播站高度为 \(h_i\),范围为 \(w_i\)。初始 \(h_i=0,w_i=i\)。广 ......
题解 Stations Segment 1572F Beats

CF1777E题解

分析 看到求最大值最小,不难想到二分。 很容易想到二分最大可取边长度。 思考如何check。 首先如果存在一点 \(u\) 符合条件,那么我们很难判断那条边该翻哪条边不该翻,很难去check。 那么大胆假设对于每个点 \(u\),每条边的方向只会确定为一个状态。 尝试证明。 假设存在边 \(a, b ......
题解 1777E 1777 CF

恨7不成妻题解

恨7不成妻 题解 分析 数位 \(DP\) 考虑题目中的两个条件,每一位不等于 \(7\) 直接枚举时把 \(7\) 排除,其他两种情况直接放在状态里。 因为题目要求平方和,我们考虑每次加上一位(设加入的是第 \(i\) 位)时会发生什么 设原平方和为 \[\sum_{k=1}^t a_k^2 \] ......
题解

[Vue]computed和watch的区别

computed 和 watch 之间的区别: 1. computed 能完成的功能,watch 都可以完成。 2. watch 能完成的功能,computed 不一定能完成,例如: watch 可以进行异步操作。两个重要的小原则: 1.所有被 Vue 管理的函数,最好写成普通函数,这样 this ......
computed watch Vue

P9771 HUSTFC 2023 排列排序问题 题解

Question 给出一个 \(N\) 个元素的排序 \(a\),我们可以对排列进行一些操作 将这个排列切割成若干个序列 将其中一些序列翻转 将这些序列连接起来得到一个新的排列 需要让最后的排列有序 Solution 这个题的描述有点小问题 理解应该是切一次,然后再反转合并,不可能会先合并再切再反转 ......
题解 HUSTFC 问题 P9771 9771

CF1132C Painting the Fence 题解

@目录DescriptionSolutionCode Description 有一面长为 \(n\) 的墙以及 \(q\) 个工人,第 \(i\) 个工人粉刷 \(l_i\) 到 \(r_i\) 的墙面,现在要去掉两个工人,问剩余 \(q-2\) 个工人最多能粉刷多少墙面。 Solution 注意数 ......
题解 Painting 1132C Fence 1132

P9744 「KDOI-06-S」消除序列 题解

@目录DesciptionSolutionCode Desciption 给定一个长度为 \(i\) 的序列 \(v_1,v_2,\dots,v_n\),初始时所有元素的值都为 \(1\)。 对于下标 \(i\) 有 \(3\) 种操作: 将 \(v_1,v_2,\dots,v_i\) 的值变为 \ ......
题解 序列 P9744 9744 KDOI

题解 CF903G【Yet Another Maxflow Problem】

加边 \(A_n\stackrel{0}{\to}A_{n+1}\),\(B_0\stackrel{0}{\to}B_1\)。称形如 \(A_i\to A_{i+1}\) 的边为左部边,形如 \(B_j\to B_{j+1}\) 的边为右部边,形如 \(A_i\to B_j\) 的边为中间边。 根据 ......
题解 Another Maxflow Problem 903G

CF1854E Games Bundles 题解

乱搞题 设个 \(dp[i]\) 表示和为 \(i\) 的子序列个数,那么转移是容易的, \(dp[j]+=dp[j-i]\) ,然后就判下 \(dp[60]+dp[60-i]\) 是否大于 \(m\) ,发现这样子搞对于比较大的数可能达不到 \(m\) 的限制,因为这样子转移,默认的是一个数只选一 ......
题解 Bundles 1854E Games 1854

【图形学笔记】Lecture09-Mesh Representation &Geometry Processing-网格表示与几何处理

Lecture09-Mesh Representation &Geometry Processing-网格表示与几何处理 目录Lecture09-Mesh Representation &Geometry Processing-网格表示与几何处理Mesh Presentation网格表示Smooth ......

CF1878B题解

CF1878B Aleksa and Stack 题目翻译 给定 \(n\),试构造一个长度为 \(n\) 的严格上升正整数序列 \(a_1, a_2, a_3, ..., a_n\) 使得 \(\forall i \in [3, n], (a_{i - 1} + a_{i - 2}) \nmid ......
题解 1878B 1878 CF

华科新生赛题解

因为学校里面写代码的条件不足,比如教学楼里面使用键盘就会被盯着看。感觉有点点自闭。早知道退学了。不知道现在退学是不是算晚。 昨天好兄弟车昱辉说你是在学习又不是在打游戏,但是我还是很羞涩。 A bfs ,需要把已经搜到的点在枚举 1 到 n 的时候去掉,所以可以使用并查集。或者链表什么的都行。 B C ......
题解 新生

CF1777C题解

分析 看到题面里面的子序列觉得很恶心,如果是子段感觉就会比较好做。 如果直接填上子序列中间的空隙就可能会取一些比必须要取的数更大或者更小的数,影响我们的答案。 那么就可以直接排序,使得子序列中间的空隙的数必然 \(\geq\) 左端且 \(\leq\) 右端,不会影响我们的答案(因为极差只看最大最小 ......
题解 1777C 1777 CF

[题解]CF1223F Stack Exterminable Arrays

CCF 出的原题观摩一下。 思路 首先可以用一个 Trie 来维护。 在这里对本文中的一些变量做一下说明。 \(p\) 表示当前维护的 Trie 中,指向的元素编号。 \(t_i\) 表示在 Trie 中编号为 \(i\) 的元素在原序列中的值。 \(f_i\) 表示在 Trie 中编号为 \(i\ ......
题解 Exterminable Arrays 1223F Stack

[NEERC2004-2005] Hyper Almost Permutative String 题解

题目链接 题目大意 称一个长度为 \(n\) 的字符串为排列的,当且仅当它包含了前 \(n\) 个大写字母。 称一个长度为 \(n+1\) 的字符串为基本排列的,当且仅当可以通过删去一个字符使得它是排列的。 现在给定两个长为 \(n\) 的排列的字符串 \(s_1,s_2\),求一个最短的字符串 \ ......
题解 Permutative Almost String NEERC

Codeforces 1862G 题解

传送门 题解 因为有这个操作:将序列 \(a\) 加上 \(\{n, n - 1, \cdots, 1\}\),考虑差分。 那么显然每次操作会将差分数组中的每个元素减去 \(1\),如果差分数组中有 \(0\),就会把 \(0\) 删除。 所以可以发现差分数组中剩下的一定是操作前的最大值。 由于操作 ......
题解 Codeforces 1862G 1862

CSP-S 2023 题解

CSP-S 2023 题解 游记 打得非常烂。。。也是一个经验的总结吧: T1.密码锁(lock) 似乎也没什么好讲的,直接模拟枚举每一种情况即可。 放上我的考场代码。 #include <bits/stdc++.h> using namespace std; int n,a[10][8],b[2] ......
题解 CSP-S 2023 CSP

CF1777B题解

分析 首先计算单个排列中的逆序对数量。 我们发现这东西可以分为两类,一类是两个数在原排列和倒着的排列(这里称为“反排列”),另一类是两个数一个在原排列,一个在反排列的。 对于第一类,我们发现,原排列中的顺序对是反排列中的逆序对,所以原排列的所有数对要么在原排列中是逆序对,要么在反排列中是逆序对,所以 ......
题解 1777B 1777 CF