ICode9

精准搜索请尝试: 精确搜索
  • 8.182022-08-18 21:03:05

    下发文件和题解 T1 接力比赛 既然要求取小白与小黑班级总 值相等时总 的最大值,那么这就可以转化为最简单的 背包问题. 设 和 分别表示小黑和小白班级中 值为 时 的最大值. 枚举 获得 和 ,那么转移显然: 然后扫一遍查询一下和的最大值即可. 点击查看代码 #include<bits/s

  • [学习笔记] Berlekamp-Massey 算法2022-08-18 13:01:44

    都 2202 年了,现代 OIer 早该会会了!参考了 此博客。 引入 Berlekamp-Massey 算法,又称为 BM 算法,其可以在 \(O(n^2)\) 时间内求解一个长度为 \(n\) 的数列的最短线性递推式。 在当今 OI 界,尚没有很多 BM 算法的应用,但在一些输入的数很少的题目中,BM 能够成为发掘题目性质(找规律)的一大

  • luogu P1721 [NOI2016] 国王饮水记2022-08-18 08:32:28

    题面传送门 首先我们发现,一定不会有低于\(h_1\)的参与操作的过程。 然后考虑一个\(x\)与比它大的\(y<z\),则发现一定是先\((x,y)\),再\((\frac{x+y}{2},z)\)更好。 因为这样是\(\frac{4}{x+y}+\frac{z}{2}\),而一起做是\(\frac{x+y+z}{3}\),显然更优。 而每个节点一定只会和一号节点联

  • 暑假集训三[数列,数对,最小距离, 真相]2022-08-18 07:32:12

    暑假集训3 数列 好在这个题是单点操作,所以我们保证每一个点的\(opt\)最小就行 所以相当于去求一个 \(\large ax + by\equiv wmx[i] (mod\ \ gcd(a, b))\) 并且保证\(\large abs(x) + abs(y)\)最小(\(x, y\)可以为负),所以,很显然的扩欧 (然鹅扩欧不会写就没救了,可以看看青蛙的约

  • 暑假集训四[打地鼠, 竞赛图, 糖果, 树]2022-08-18 07:31:50

    暑假集训4 打地鼠 这个题是个人也会吧?二维前缀和暴力碾压硬扫就行了,就是注意好边界,别爆就行 here #include <bits/stdc++.h> #define LL long long #define Re register int #define LD long double #define mes(x, y) memset(x, y, sizeof(x)) #define cpt(x, y) memcpy(x, y,

  • 暑假集训五[星际旅行, 砍树, 超级树, 求和]2022-08-18 07:31:29

    暑假集训5 星际旅行 这个题刚看我觉得很ex,没事思路,就跳了,然后就去欺负\(T4\)了后来别的不会做,然后回来肝它...就肝出来了...对了,注意开\(long long\) 首先转化一下题意,我们建无向边不是一下建两条吗,那么如果想让一条无向边只被走一次,那么我们相当于删除掉它两条边的一条,那题意就

  • 重修 最小斯坦纳树2022-08-17 15:01:45

    转自(稍加修改) 最小斯坦纳树,就是在一个无向连通图要花费最小的代价(边权和),连通给定的 \(k\) 个关键点(一般 \(k\le 10\)),这是一个组合优化问题。 这个问题可以用状压 DP 来解决,首先容易发现一个结论: 答案一定是树。你猜为啥叫最小斯坦纳树。 证明:如果答案存在环,则删去环上任意一条边,代

  • 【2022杭电多校】第九场 1008 Shortest Path in GCD Graph 【容斥+优化】2022-08-17 01:32:40

    链接 https://acm.hdu.edu.cn/showproblem.php?pid=7240 题意是有n个点组成的完全图,每个点的权重组成了1-n的排列,点i和点j的距离为\(gcd(i,j)\) ,给出q组询问,每次询问给出u点和v点,你需要回答u和v的最短距离和最短路的条数 思路 如果\(gcd(u,v)==1\),答案为 1 1 否则最短路的长度一定

  • [Codeforces_gym_102136] I.Permutations again2022-08-16 22:03:20

    传送门 Description Given a sequence \(A_i\) consisting of \(N\) integers. Find the number of pairs \((L, R)\) for which the subsegment \({A_L, A_{L + 1}, ...,A_R}\) is a permutation of \(R - L + 1\) numbers. A permutation of \(K\) numbers is a

  • luogu P8293 [省选联考 2022] 序列变换2022-08-16 18:01:55

    题面传送门 因为WC2022考了这种构造,所以下意识将括号序列建树。 手玩一下发现第一个操作实际上是干了这个事情: 也就是说把用其中一个括号将另一个同层括号在树上移到了下一层。 答案的形式是((((((((())))))))),也即括号树形成了一条链。 Case 1 :\(X=Y=0\) 显然答案为\(0\)。 Cas

  • 重修 斜率优化 Dp2022-08-15 22:01:19

    斜率单调暴力移指针 斜率不单调二分找答案 \(x\) 坐标单调开单调队列 \(x\) 坐标不单调开平衡树 / cdq分治 P4072 [SDOI2016]征途 我们要求方差最小,而总和不变,等价于要每天走的路程平方和最小。 设 \(s(i)\) 表示前 \(i\) 段路的距离总和。 首先我们有一个 naive 的 \(O(n^3)\)

  • "蔚来杯"2022牛客暑期多校训练营7 题解2022-08-15 19:00:08

    C. Constructive Problems Never Die 对于出现次数大于1的数字,用出现次数为0的数字填充。 剩下的数字一定两两互不相同,对这些数循环移位,最后进行判断即可。 #include<bits/stdc++.h> #define pii pair<int, int> #define fi first #define se second using namespace std; const

  • Atcoder Grand Contest 025 E - Walking on a Tree(欧拉回路)2022-08-14 16:33:36

    Atcoder 题面传送门 打个表发现答案等于每条边被覆盖的次数与 \(2\) 取 min 之和,考虑如何构造这个上界。 首先考虑树是以 \(1\) 为中心的菊花图,且任意 \(A_i,B_i\ne 1\) 的做法:我们考虑在 \(A_i,B_i\) 之间连边。那么发现限制等价于,对每条边定向使得每个度 \(\ge 2\) 的点至少有一

  • AtCoder Beginner Contest 2642022-08-14 11:33:02

    比赛链接 AtCoder Beginner Contest 264 E.Blackout 2 给出很多点(\(n+m\leq 2\times 10^5\)),有发电站和城市,以及很多边(\(e\leq 5\times 10^5\)),有 \(q\) 次删边操作,求每次操作后有电的城市数量 解题思路 并查集 离线逆序处理,即只考虑建边操作,用并查集维护有电城市的信息即可 时

  • 通往奥格瑞玛的道路2022-08-13 18:31:21

    P1462 通往奥格瑞玛的道路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 要求:在生命值不为负的条件下走到终点,要求路程中收费最大值的最小 二分收费值,如果某条边的权值小于等于二分值,那么就可以走这条边,否则不行 对每个二分的结果跑一遍diji,最短路为到达终点 的最少需要消耗的

  • CF1268E Happy Cactus2022-08-13 15:34:25

    题面传送门 我们先来考虑一棵树怎么做。显然先将边排序,然后从大到小加边,每次加边\((x,y)\)以后会使\(f_x=f_y=f_x+f_y\)。 但是很遗憾这个做法并不能直接搬到仙人掌上因为有些点会被算重。我们计算的是路径的数量而要求的是点的数量。 还是延续这个思路,但是当加到一个环的最后一条

  • CF1208F Bits And Pieces2022-08-13 09:01:56

    传送门 思路 面对位运算,而且要求答案最大,我们应该想到一个贪心:从二进制最高位开始取,这样能保证答案最优 对于一个答案 \(x\) ,它可行当且仅当存在 \(i<j<k\),满足有 \(x\oplus w \subseteq a[i]\) 和 \(w\subseteq a[j],a[k]\)(这里 \(w\subseteq x\)) 我们考虑记录 \(Mn[w]\) 为 \(w

  • 【牛客小白月赛】54 C School2022-08-13 02:00:36

    链接 https://ac.nowcoder.com/acm/contest/38457/C 题意是说,给你n个形如a时b分 c时d分的条件限制,表示不能选取,给出m个询问某个值是否可以选取 思路 1.可以把x时y分转化成一个值 ( x*m+y ) ,这样就可以把原条件看成n个区间的限制,用差分思想可做 点击查看代码 #include<bits/stdc++

  • "蔚来杯"2022牛客暑期多校训练营32022-08-13 01:30:39

    A.Ancestor 给定两棵有\(n\)个节点的树\(A、B\),树上节点均有一个权值,给出\(k\)个关键点的编号\(x_1,x_2,...,x_k\),问有多少种方案,使得恰好去掉一个关键点后,剩余关键点在\(A\)中LCA的权值大于\(B\)中LCA的权值? 题解做法是预处理,预处理两个关键点序列在\(A,B\)两棵树上的前后缀LCA,

  • 393. 雇佣收银员2022-08-13 00:33:33

    题目链接 393. 雇佣收银员 一家超市要每天 \(24\) 小时营业,为了满足营业需求,需要雇佣一大批收银员。 已知不同时间段需要的收银员数量不同,为了能够雇佣尽可能少的人员,从而减少成本,这家超市的经理请你来帮忙出谋划策。 经理为你提供了一个各个时间段收银员最小需求数量的清单 \(R(0

  • 树的基础2022-08-12 22:00:09

    前言 写这个是因为觉得不能颓废了,基础不行就得补 基础之基础  没啥好说的,看oiwiki !!!重点是一定要区分无向和有向 树的直径/重心  发现一个很良心的博客blog。 这模板题也是他出的 树的直径 #include<bits/stdc++.h> using namespace std; #define ll long long #define LLF LLONG

  • 暑假集训22022-08-12 21:00:57

    题面 A.LCIS 一道裸的求LCIS(最长公共上升子序列)题. \(dp\)数组储存到\(b\)的第\(i\)项,\(a\)从\(1-n\)的且以\(b[i]\)结尾的最⻓公共上升⼦序列⻓度. 那么\(dp\)过程显然: if(a[i]>b[j]&&maxx<f[j]) maxx=f[j];更新可以⽤于更新\(b\)序列与\(a\)序列前\(i\)位的最⻓⻓度的最⼤值.

  • 362. 区间2022-08-12 17:32:11

    题目链接 362. 区间 给定 \(n\) 个区间 \([a_i,b_i]\) 和 \(n\) 个整数 \(c_i\)。 你需要构造一个整数集合 \(Z\),使得 \(\forall i \in [1,n]\),\(Z\) 中满足 \(a_i \le x \le b_i\) 的整数 \(x\) 不少于 \(c_i\) 个。 求这样的整数集合 \(Z\) 最少包含多少个数。 输入格式 第一行

  • 8.112022-08-11 23:03:27

    k进制FWT 定义\(k\)维或、与、异或运算 \[x\ or\ y=\sum_i max(x_i,y_i)k^i\\ x\ and\ y=\sum_i min(x_i,y_i)k^i\\ x\ xor\ y=\sum_i ((x_i+y_i)\%k)\ k^i \]什么叫不进位加法啊.jpg \(FWT\)本质是要把当前是幂集合当成一个向量,系数变换当作一个矩阵,那么要满足 \[\vec{F}A·\vec{

  • 8.102022-08-11 12:00:08

    ABC232G 题意: 给定\(n\)个点和两个序列\(A,B\)和模数\(m\) 从\(i\)号点走到\(j\)号点的代价是\((A_i+B_j)\%m\) 问从\(1\)走到\(n\)号点的最小代价是多少 \(n\leq 2*10^5,m\leq 10^9,0\leq A_i,B_i<m\) 题解: 连边点\(i\rightarrow m-A_i,B_i\rightarrow i\)边权为\(0\) 然后对每个

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有