![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
杂题
gjghfd
这个作者很懒,什么都没留下…
展开
-
bzoj3095--数学题
题目大意:给定一个长度为n的整数序列x[i],确定一个二元组(b, k)使得S=Σ(k*i+b- x[i])^2(i∈[0,n-1])最小看Claris大神的题解就行了。实际上就是用2次二次函数的性质。http://www.cnblogs.com/clrs97/p/4703437.html代码: 1 #include 2 #include 3 #include 4 using n原创 2017-05-26 16:41:25 · 235 阅读 · 0 评论 -
[ 杂题 复杂度分析 ] Codeforces955F Heaps
对于 k=1k=1k=1 ,可以直接树形DP求出答案。 对于 k>1k>1k>1 ,显然 maxdepth<logknmaxdepth<logknmax_{depth}dpi,jdpi,jdp_{i,j} 表示 iii 号点,depthdepthdepth 为 jjj 时最大的 kkk ,那么状态数是 O(nlogn)O(nlogn)O(n\log n) 的。 如果...原创 2018-03-26 17:43:20 · 396 阅读 · 0 评论 -
[ 杂题 ] Codeforces955D Scissors
对于 ttt 的每个前缀,双指针扫一遍求出在 sss 中出现的最左的位置,对每个后缀求出最右的位置。然后枚举 ttt 中分割的位置就好了。 注意判断 ttt 在一个子串中出现的情况。UPD:感谢 lifelikes 指出错误。 假如要求出最左的位置,由于要保证选的字符串长度至少为 kkk ,所以初始时指针在 kkk 。 但这样有一种情况,就是 ttt 串的一个前缀可以匹配 sss...原创 2018-03-25 16:22:45 · 678 阅读 · 2 评论 -
[ 杂题 ] Codeforces949E Binary Cards
发现答案中每个二进制数最多只会出现一次。然后暴搜,过程中记下还有哪些数要表示,剪个枝就好了。 最多跑 2192192^{19} 次。#include<bits/stdc++.h>using namespace std;const int M=19;int k,n,m,x;bool a[M][1<<M];int c[M];vector<int>c...原创 2018-03-13 11:07:07 · 485 阅读 · 0 评论 -
[ 杂题 ] Codeforces923D Picking Strings
先瞎JB推一下,得到一些结论:B→AC→AAB→AAAC→CB→AC→AAB→AAAC→CB\rightarrow AC \rightarrow AAB \rightarrow AAAC \rightarrow C ,反过来也成立,得出 BBB 和 CCC 是等价的,可以将所有 BBB 看成 CCC 。C→AC→AAC→CC→AC→AAC→CC\rightarrow AC \righ...原创 2018-03-11 19:39:30 · 275 阅读 · 0 评论 -
[ 杂题 ] Codeforces946G Almost Increasing Array
如果不能删除且不是严格递增,答案就是 n−最长不下降子序列长度n−最长不下降子序列长度n-最长不下降子序列长度 。 假如严格递增,可以将 aiaia_i 减去 iii ,再求一遍 LISLISLIS 。 假如可以删除,因为删除的点后面的标号会减 111 ,所以不能直接求 LISLISLIS 。 设 f0/1,if0/1,if_{0/1,i} 表示当前是否删过点,长度为 iii 的序列尾端的最...原创 2018-03-07 19:10:04 · 476 阅读 · 0 评论 -
[ 并查集 复杂度分析 杂题 ] Codeforces920E Connected Components?
记原图的补图中每个点的度数为 didid_i 。 先找出 didid_i 最小的点,将与其有边相连的点作为一个连通块,其他每个点单独作为一个连通块。暴力枚举 222 个连通块,再枚举其中的点,查询是否有边,有边则合并。 这样显然是正确的,然后就是复杂度的问题。 由于刚开始选的是 didid_i 最小的点,所以 di≤⌊mn⌋di≤⌊mn⌋d_i\le \lfloor{m\over n}\rf...原创 2018-02-27 14:15:49 · 520 阅读 · 0 评论 -
[ 杂题 ] Codeforces685C Optimal Point
二分答案,对于每个点求出满足的区域,求出这些区域的交。一个区域可以表示成: ...≤x+y+z≤......≤x+y+z≤......\le x+y+z\le ... ...≤x+y−z≤......≤x+y−z≤......\le x+y-z\le ... ...≤x−y+z≤......≤x−y+z≤......\le x-y+z\le ... ...≤−x+y+z≤......≤−x...原创 2018-02-25 09:20:15 · 424 阅读 · 0 评论 -
[ 杂题 ] [ SCOI2014 ] BZOJ4444
断环为链。将端点离散,令 fif_i 表示左端点小于等于 ii 的右端点的最大值。那么显然当右端点为 ii 时会走到 fif_i ,直到当前点与左端点距离大于等于 mm 。 因为每个区间的答案一定小于等于最优答案加 11,所以不同区间的答案不会超过 11 。根据 fif_i 建树, dfsdfs 时维护一个指针就好了。#include<queue>#include<vector>#includ原创 2018-01-03 14:41:14 · 262 阅读 · 0 评论 -
[ 杂题 ] BZOJ5085
二分答案,枚举每一行,将可以匹配的列记录下来。这样最多只会做 O(nm)O(nm) 次。#include<bits/stdc++.h>using namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,10000原创 2017-12-12 18:02:44 · 273 阅读 · 0 评论 -
[ 数学 费马小定理 杂题 ][ NOI2013 ] BZOJ3240
首先可以用等比数列求和公式表示出一行的关系: fi,m=am−1fi,1+b(am−1−1)a−1f_{i,m}=a^{m-1}f_{i,1}+{b(a^{m-1}-1)\over a-1} 然后乘 cc 加 dd 得到 fi+1,1f_{i+1,1} 和 fi,1f_{i,1} 的关系: fi+1,1=cam−1fi,1+bc(am−1−1)a−1+df_{i+1,1}=ca^{m-1}f_原创 2017-12-01 19:25:11 · 1287 阅读 · 0 评论 -
[ 杂题 ] Codeforces875F Royal Questions
在 aia_i 和 bib_i 间连一条权值为 wiw_i 的边,那么问题就转化为从中选几条边并给每条边定向,使每个点的度数不超过 11。 容易发现最终答案是一个基环树,求一个最大基环树就好了。#include<bits/stdc++.h>using namespace std;#define N 200010struct Edge{ int x,y,z;}e[N];int An原创 2017-10-18 10:41:52 · 1116 阅读 · 0 评论 -
codeforces825G Tree Queries
我们可以将第一个黑点作为树的根。 令fif_i表示点ii到根路径上点编号的最小值。那么因为根是黑点,每个点的答案一定包括fif_i。 接下来考虑黑点jj对ii的贡献:若ii与jj的lcalca是根,由于fif_i已经统计过了,jj对ii的贡献就是fjf_j若ii与jj的lcalca不是jj,jj对ii的贡献就是jj到lcalca路径上点编号的最小值与ii到lcalca路径上点编号的最小值。因原创 2017-07-24 11:07:42 · 430 阅读 · 0 评论 -
bzoj3388 [ Usaco2004 Dec ]
题目大意:约翰的表哥罗恩生活在科罗拉多州。他近来打算教他的奶牛们滑雪,但是奶牛们非常害羞,不敢在游人如织的度假胜地滑雪。没办法,他只好自己建滑雪场了.罗恩的雪场可以划分为W列L行(1≤W≤500;1≤L≤500),每个方格有一个特定的高度H(0≤H≤9999)。奶牛可以在相临方格间滑雪,而且不能由低到高滑。为了保证任意方格可以互通,罗恩打算造一些直达缆车。缆车很强大,可以连接任意两个方格,而且是原创 2017-05-26 16:40:55 · 243 阅读 · 0 评论 -
bzoj4917 [ lydsy6月月赛A题 ]
观察到tt的二进制的某些位在有些操作后是不变的。倒着推,求出这几位的值再求其他位,一直做就可以了。代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define N 33#define UI unsigned intUI n,p[N];int i,原创 2017-06-30 17:36:00 · 310 阅读 · 0 评论 -
bzoj1723 [ Usaco2009 Feb ] --前缀和(水题)
题目大意:你难以想象贝茜看到一只妖精在牧场出现时是多么的惊讶.她不是傻瓜,立即猛扑过去,用她那灵活的牛蹄抓住了那只妖精. “你可以许一个愿望,傻大个儿!”妖精说. “财富,”贝茜用梦游般的声音回答道, “我要获得财富的机会.” 妖精从来没有碰到过这么简单的愿望.他在地方划出一大块N×N(1≤N≤200)的方格,每个格子上写上_1,000,000到1,000,000之间的原创 2017-05-26 16:41:10 · 394 阅读 · 0 评论 -
[ 杂题 树状数组 ] VK Cup 2018 - Round 2 Codeforces924D Contact ATC
假设当风力为 −w−w-w 时,点 iii 在 titit_i 时刻经过 000,当风力为 www 时在 t′iti′t_i' 时刻经过 000 。 显然在风力从 −w−w-w 变化为 www 的过程中,点 iii 经过 000 的时刻也会从 titit_i 变到 t′iti′t_i' ,而且这个过程是连续的。 对于点 i,ji,ji,j ,考虑什么时候满足条件。若 ti=tjti=tjt_i...原创 2018-03-28 18:15:31 · 468 阅读 · 0 评论