首页 > TAG信息列表 > Platinum
[平面图性质] 「USACO 2021.1 Platinum」Paint by Letters
\(\texttt{link}\) 平面图欧拉公式: 对于一个连通平面图,记 \(F\) 为区域数, \(V\) 为点数,\(E\) 为边数,则有 \(F + V - E = 2\) \(\texttt{板子}\)LOJ #3511. 「USACO 2021 US Open Platinum」United Cows of Farmer John
LOJ #3511. 「USACO 2021 US Open Platinum」United Cows of Farmer John 乍一看, 感觉题目一点也不可做. 但仔细想想又感觉有些蹊跷. 首先这种计算序列上元组 \((i,j,k,...)\) 对数的题要么是 cdq 分治, 要么是枚举左/右端点计数. 这道题可以考虑后者. 枚举右端点, 设右端点的数[USACO 2019.12 Platinum]Tree Depth
\[\color{red}{\text{校长者,真神人也,左马桶,右永神,会执利笔破邪炁,何人当之?}} \\ \begin{array}{|} \hline \color{pink}{\text{The principal is really a god}} \\ \color{pink}{\text{with a closestool on the left and Yongshen on the right}} \\ \color{pink}{\text{holdi【USACO 2021 January Contest, Platinum】Problem 1. Sum of Distances
\(\text{Solution}\) 一个性质:两个 \(K\) 元组有边相连当且仅当每个点在对应的图中到 \(1\) 有奇偶性相同的路径 那么我们就可以预处理每个图中的点到 \(1\) 的奇偶最短路 再考虑路径长度,显然是 \(\min(\max_{i=1}^k{odd_i}, \max_{i=1}^k{even_i})\) 把它拆开 \(\max_{i=1}^k{odd【USACO 2021 US Open, Platinum】United Cows of Farmer John
\(\text{Solution}\) 简要的口胡 线段树维护合法左端点数量 正序枚举 \(i\),将其视为右端点,去除不合法的左端点,统计贡献 再将其视为中间点,由它产生的左端点在线段树上区间加 注意到一个重复出现的 \(b\) 值,上一个相同位置的贡献不能再要 于是把这个点废掉 考场上又打了棵线段树,统计「USACO 2021 US Open Platinum」United Cows of Farmer John
「USACO 2021 US Open Platinum」United Cows of Farmer John 考虑依次枚举右端点\(i\),计算左边合法的方案数,设一个数\(x\)上次出现的位置为\(lst_x\) 则\(i\)能够作为右端点的区间就是\([lst_{a_i}+1,i-2]\) 考虑什么样的位置可以作为左端点,显然这个点在\([1,i]\)中是最后一次出「USACO 2021 US Open Platinum」Balanced Subsets
「USACO 2021 US Open Platinum」Balanced Subsets 考虑题目给出的定义对应怎样的图形,显然是一个凸的封闭图形 不妨通过左右边线描述, 1.左边线先左移再右移 2.右边线先右移再左移 不妨直接令\(dp_{i,l,r,f1,f2}\)表示当前第\(i\)行,当前左右边线为\(l,r(l\leq r,\forall j\in[l,r],「USACO 2021.1 Platinum」Paint by Letters
「USACO 2021.1 Platinum」Paint by Letters 统计连通块问题,暴力是\(O(qn^2)\),而且常数大 容易想到 平面图的欧拉定理 优化 下文\(V,E,F\)分别为点集,边集,区域集合 其中\(|V|\)可以直接得到,\(|E|\)可以\(O(n^2)\)前缀和预处理出来,\(O(1)\)查询 下面处理区域个数 Solution1 前缀和所「USACO 2021.1 Platinum」Sum of Distances
「USACO 2021.1 Platinum」Sum of Distances 设在\(G_i\)中\(j_i\)点可行的距离集合为\(D_{j_i}\) 注意到一个点的\((j_1,j_2,\ldots,j_k)\)的\(dis\)可以用如下方式确定 \(\displaystyle dis(j_1,j_2,\ldots,j_k)=\min\{\bigcap D_{j_i}\}\) 而\(D_{j_i}\)有一个简单的描述方法:「USACO 2020.12 Platinum」Cowmistry
「USACO 2020.12 Platinum」Cowmistry 看到样例解释突然就有了思路.jpg 令\(m=\min\{2^t|2^t>k\}\),也就是\(k\)最高位+1 对于数轴,按照\([im,(i+1)m)\)分组,显然跨过分组的数之间异或\(\ge m>k\),不合法,扔掉 对于每组,直接看做是\([0,m-1]\),此时令\(d=\frac{m}{2}\) 将\([0,m-1]\)分为「USACO 2020.12 Platinum」Sleeping Cows
「USACO 2020.12 Platinum」Sleeping Cows 写容斥就输了。。 为每个牛棚考虑牛,从大到小,考虑每一个牛棚是否匹配 \(dp_{i,j,f}\)表示后\(i\)个牛棚中有\(j\)个钦定要匹配但是还未匹配的牛棚,\(f=0/1\)表示是否存在一个牛棚未选 每次移动\(i\),会有一部分牛不能继续匹配 如果\(f=1\),那「USACO 2020 US Open Platinum」Exercise
「USACO 2020 US Open Platinum」Exercise 做法与模数是否是质数无关 问题可能比较复杂,需要多步分析 1.对于一个已知的排列 显然这样的置换会构成若干个环,设每个环长度为\(a_i,i\in [1,m]\),显然答案就是\(lcm(a_i)\) 2.对于已知的\(a_i\)序列(注意这里说的是有序的),计算其方案数【USACO 2020 US Open Platinum】题解
T1 Sol 简单题,发现实质上是用一条折线把举行分开,弯折处必须放,其余随便放不放,同时满足有些格子不能放。直接 dp 就好了。 不过当时脑子有抽风,所以写得复杂了,分成了四种情况讨论,然后统计的是所有方案的必须选的逆元和,最后再乘上一个 \(2^{tot}\) …… Code #include <algorithm> #inUSACO 2020 January Contest, Platinum
Cave Paintings 从下往上,把这行的每个格子向左右/下一行同一列的格子连边,如果连出环了就把环上的点当作一个等价类缩起来。最后会剩下若干棵树,可以用 DP 计算每棵树的答案。 具体实现时可以直接并查集,合并两个连通快时方案数相乘。 https://ideone.com/209nvl Non-Decreasing SubsUSACO 2020 January Contest, Platinum Problem 1. Cave Paintings
题目链接:http://usaco.org/index.php?page=viewproblem2&cpid=996 提交评测:https://www.luogu.com.cn/problem/P6008 题解: 一开始,我想着从左往右进行统计方案数,然后发现转移方程太难写。从下往上进行统计就方便很多。首先要明白,不同的连通块的方案数乘积就是总的方案数。LOJ3228「USACO 2019.12 Platinum」Tree Depth
题意 求所有\(n\)元逆序对数为\(k\)的排列所对应的笛卡尔树中(每次选区间最小连在父亲下,再分为左右两部分递归),求每个位置在所有树中的深度和 \(1 \le n \le 300\) 思路 是设\(f_k\)表示逆序对数为\(k\)的\(n\)排列的数量,那么其生成函数: \[F(x)=\prod_{i=0}^{n-1}\sum_{j=0}^{i}x^jDLNA开发
最近在基于dlna开源库重新实现dlna服务,对于手机端来说主要提供ControlPoint+媒体文件HttpServer功能。调研了国内APP和友商的实现,以使用libupnp和Cling的居多,部分使用Platinum;Cling Java开发的,对于APP来说容易导入,缺陷就是github上现在不再维护了;Libupnp以C实现,设备和服务封装不如USACO 2019 January Contest Platinum: T1
题目大意 奶牛Bessie意识到为了保持好的体形她需要更多地进行锻炼。她需要你帮助她选择在农场里每天用来晨跑的路线。 农场由N块草地组成(1≤N≤2*10^5),方便起见编号为1…N,由M条双向的小路连接(1≤M≤2*10^5)。作为一种遵循规律的生物,奶牛们倾向于使用其中特定的N−1条小路作为她们日常USACO 2019 January Contest Platinum T1: Redistricting
题目大意 奶牛们的特大城市,牛都,要进行重新分区了!——这总是一个在居住在这里的两大主要种族(荷斯坦牛和更赛牛)之间富有争议的政治事件,因为两大种族都想要在牛都政府中保持足够的影响力。 牛都的大都市圈由一列N块牧草地(1≤N≤3*1e5)组成,每块里有一头奶牛,均为荷斯坦牛和更赛牛之一。USACO 2018 December Contest Platinum T3: The Cow Gathering
题目大意 奶牛们从世界各地聚集起来参加一场大型聚会。总共有 N 头奶牛, N−1 对奶牛互为朋友。每头奶牛都可以通过一些朋友关系认识其他每头奶牛。 她们玩得很开心,但是现在到了她们应当离开的时间了,她们会一个接一个地离开。她们想要以某种顺序离开,使得只要至少还有两头奶牛尚[LOJ#2386]. 「USACO 2018.01 Platinum」Cow at Large[点分治]
题意 题目链接 分析 假设当前的根为 rt ,我们能够在奶牛到达 \(u\) 之时拦住它,当且仅当到叶子节点到 \(u\) 的最短距离 \(mn_u \le dis_u\) 。容易发现,合法的区域是许多棵子树,而我们要求的就是有多少棵子树。 由于除了以 rt 为根的子树都可以用 \(\sum\limits_{x\in subtree} 2-deg