ICode9

精准搜索请尝试: 精确搜索
  • [loj#3052] [十二省联考 2019] 春节十二响2020-03-20 22:04:51

    题意简述 给定一棵 \(n\) 的节点的树,根为1,每个点有权值 \(M_i\) 要把树分成若干段,每段内不存在“祖先-后代”关系,定义一个段的大小为段中点 \(M_i\) 的最大值。 求所有段的大小之和的最小值。 想法 想法一:奇怪的贪心 每次找到全树中没分到段内的有最大权值的点 \(u\) ,则 \(M_u\)

  • LOJ #3098. 「SNOI2019」纸牌 动态规划+矩阵乘法2020-03-14 16:02:26

    挺好的一道计数题.  code:   #include <bits/stdc++.h> #define N 100007 #define ll long long #define mod 998244353 #define setIO(s) freopen(s".in","r",stdin) using namespace std; ll n,k[N]; int C,X,a[N]; int add(int

  • @loj - 2987@ 「CTSC2016」时空旅行2020-03-04 12:08:05

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 2045 年,人类的技术突飞猛进,已经找到了进行时空旅行的方法。小 R 得到了一台时空旅行仪,他想用它调查不同时空中人类的发展状况。 根据平行时空理论,宇宙中存在着很多独立的时空,每个时空在下一个时间

  • loj #10134. 「一本通 4.4 练习 1」Dis2020-03-03 11:58:24

    题目链接 题意: 给定每个边的权值,每次求u,v两点的距离。 题解: 把每个边上的权值给挂到每条边的儿子节点下面,跑一边树上前缀和自顶向下模板,没了。 裸的树上前缀和模板 但要注意:DFS中邻接表中前缀和的变量不能打错了 Code: #include <iostream> #include <cstdlib> #include <cstdio>

  • LOJ #2831. 「JOISC 2018 Day 1」道路建设 线段树+Link-cut-tree2020-02-28 16:56:25

    用 LCT 维护颜色相同连通块,然后在线段树上查一下逆序对个数就可以了.  code: #include <cstdio> #include <algorithm> #include <cstring> #include <string> #define N 100005 #define ll long long using namespace std; namespace IO { void setI

  • [bzoj4860] [loj#2179] [BJOI2017] 树的难题2020-02-20 19:52:45

    题意简述 \(n\) 个点的无根树。 树上每条边有颜色。共 \(m\) 种颜色,第 \(i\) 种颜色有权值 \(c_i\)。 对于树上一条简单路径,路径上经过的所有边按顺序组成一个颜色序列,序列可以划分成若干个相同颜色段。定义路径权值为颜色序列上每个同颜色段的颜色权值之和。 求长度在 \([l,r]\)

  • [bzoj5466] [loj#2955] [NOIP2018] 保卫王国2020-02-20 18:56:55

    题意简述 \(n\) 个点的树,每个点有点权。 要求选若干个点,满足任意两个有边相连的点中至少选一个,要选的所有点点权和最小。 \(m\) 个询问,每个询问强制规定两个点是否选,求最小点权和。 \(n,m \leq 10^5\) 想法 动态 \(DP\) ,算是比较模板的题了…… 模板戳这里 朴素的方程为 \[ f[u][

  • 「LOJ #10064」 黑暗城堡2020-02-04 19:03:29

    知道黑暗城堡有 \(N\) 个房间,\(M\) 条可以制造的双向通道,以及每条通道的长度。 城堡是树形的并且满足下面的条件: 设 \(D_i\) 为如果所有的通道都被修建,第 \(i\) 号房间与第 \(1\) 号房间的最短路径长度; 而 \(S_i\) 为实际修建的树形城堡中第 \(i\) 号房间与第 \(1\) 号房间的路径

  • LOJ#508. 「LibreOJ NOI Round #1」失控的未来交通工具2020-01-29 21:03:17

    题意 一个带边权无向图,有两种操作:加边以及询问在\(x,x+b,...,x+(c-1)b\)这些数中,有多少个数存在至少一条与之模\(m\)同余的从\(u\)到\(v\)的路径(可以不是简单路径)。 做法 奇数 考虑某一边\((u,v,w)\in E\),从\(u\)到\(v\),通过来回绕圈的方式,能形成\(2k+1\)的关于\(w\)系数,将其放

  • 「Luogu P3261 && LOJ 2107」城池攻占2020-01-18 21:02:25

    小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池。这 n 个城池用 1 到 n 的整数表示。除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖,其中 fi <i。也就是说,所有城池构成了一棵有根树。这 m 个骑士用 1 到 m 的整数表示,其中第 i 个骑士的初始战斗力为 si,第一个

  • LOJ #6277. 数列分块入门 12020-01-18 15:02:21

    题目链接 思路&&代码 区间修改+单点查值 先分块,把这\(n\)个数分成\(\sqrt{n}\)个块,用\(add[i]\)表示这个块修改值的和(增量标记) 区间修改:如果是修改整个块,则直接修改这个块的增量标记,如果不是一整个块,就暴力修改值,如果是多个块,是整块的修改增量标记,不是整块的暴力修改 单点查值:单

  • LOJ #6053. 简单的函数 (min25筛裸题)2020-01-15 09:50:48

    题面 \(n\le10^{10}\) 题解 裸的min25筛,要学习min25筛的戳这里 我主要用的是下面那种写法(比较好写) 注意下,对于所有奇质数\(f(p)=p-1\),\(f(2)=3\),所以求和的时候就用质数和减去质数个数,最后对于\(f(2)\)特殊处理加一个\(2\)。 CODE #include <bits/stdc++.h> using namespace std

  • Loj #2687 - 「BalticOI 2013」Vim2020-01-14 23:53:56

    搞了一个 \(nk^2\) 的做法。 首先如果前面是一个 \(e\) 那下一步一定是将 \(e\) 删掉,花费 \(2\) 。 那么可以将 \(e\) 删掉,每个之前有 \(e\) 的点都必须经过,求最短的方案。 答案一定是向后走一段,然后把前面的所有必经点都走掉,于是可以轻松得到 \(O(n^2)\) 的做法。 现在考虑优化。

  • LOJ#6713. 「EC Final 2019」狄利克雷 k 次根 加强版2020-01-14 19:02:29

    题面 题解 看到这题第一眼只会 k = 2,百度搜一下「狄利克雷卷积」后得知有一个非常神仙的东西:狄利克雷生成函数。它大概长这样: \[ F(z) = \sum_{n \geq 1} \frac {f(n)}{n^z} \] 显然这个函数的卷积对应数论函数 \(f\) 的狄利克雷卷积。 可以发现 \(\displaystyle F'(z) = \sum_{n

  • LOJ 6089 小 Y 的背包计数问题 解题报告 (动态规划)2020-01-11 21:57:05

    #6089. 小 Y 的背包计数问题 题意 有一个容量为 \(n\) 的背包 \(( n \le 10^5)\). 有 \(n\) 种物品, 第 \(i\) 种物品有 \(i\) 个, 体积为 \(i\). 求将背包装满的方案数. 思路 直接多重背包肯定不行, 加前缀和优化也有 \(n^2\). 考虑到, 体积大于 \(\sqrt{n}\) 的物品一定不会用完

  • loj #6089. 小 Y 的背包计数问题 |动态规划2020-01-11 19:51:02

    题目描述 小 Y 有一个大小为的背包,并且小i有种物品。对于第种物品,共有i个可以使用,并且对于每一个i物品,体积均为i。 求小Y把该背包装满的方案数为多少,答案对于23333333取模。 定义两种不同的方案为:当且仅当至少存在一种物品的使用数量不同。 输入格式 第一行一个整数 。 输出格式

  • @loj - 2004@ 「SDOI2017」硬币游戏2020-01-11 17:01:54

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 周末同学们非常无聊,有人提议,咱们扔硬币玩吧,谁扔的硬币正面次数多谁胜利。 大家纷纷觉得这个游戏非常符合同学们的特色,但只是扔硬币实在是太单调了。 同学们觉得要加强趣味性,所以要找一个同学扔很多

  • LOJ 6033. 「雅礼集训 2017 Day2」棋盘游戏 (二分图匹配问题)2019-12-27 13:00:56

    题面 LOJ传送门 题解 感觉没什么方法可以做。 但是有巧妙的解法(套路)。 我们对于所有空地,相邻两个空地连边,显然是二分图。 然后求出一个最大匹配。如果Alice把一个未匹配点作为起点,那么Bob每一步只能走到一个新的匹配了的位置,那么Alice只要走向这个位置对应匹配的位置就可以了。而B

  • LOJ#6682. 梦中的数论(min_25筛)2019-12-27 09:01:30

    第一次打\(min_25\)筛,所以写一写 做法 就是穿了件肥肥的衣服~,等价于这个: \[\frac{1}{2}(\sum\limits_{i=1}^n \sigma^2(i)-\sum\limits_{i=1}^n \sigma(i))\] 后面那个分块一下就好了(不会有人学傻了去筛吧。。。) 看前面这个\(\sigma^2(i)\),设\(F(i)=\sigma^2(i)\) 显然:\(F(i)\)是

  • LOJ #558. 「Antileaf's Round」我们的 CPU 遭到攻击 LCT维护子树信息2019-12-26 15:04:09

    这个和 QTREE5 的套路是一样的,就是维护一个深度最深/浅的距离和,然后合并一下就好了.  code:  #include <map> #include <string> #include <cstdio> #include <cstring> #include <algorithm> #define N 400008 #define ll long long using namespace std; namesp

  • LOJ P10022 埃及分数 题解2019-12-21 11:53:30

    每日一题 day62 打卡 Analysis 这道题一看感觉很像搜索,但是每次枚举x∈(1,10000000)作为分母显然太蠢了。 所以我们要想办法优化代码。 优化一:迭代加深   优化二: 我们确定了搜索方式,现在就要确定搜索的上下界。 因为现在搜索的分数一定要比剩下的值小,于是有: 1/i​<x/y​ 上界满足

  • THUSC20172019-12-11 15:55:47

    巧克力 LOJ 杜老师 LOJ 我们知道完全平方数的质因子个数都是偶数。 假如我们把每个数用一个记录它的质因子的个数奇偶性的bitset来表示,那么这题就变成了问\([L,R]\)内有多少个子集满足它们的bitset异或起来为\(0\)。 假如我们把这些元素一个个插入线性基,那么答案就是\(2^{R-L+1-

  • [LOJ#2743][DP]「JOI Open 2016」摩天大楼2019-12-03 09:02:21

    题目传送门 DP 经典题 考虑从小到大把数加入排列内 如下图(\(A\) 已经经过排序): 我们考虑如上,在 \(i\) ( \(A_i\) )不断增大的过程中,维护上面直线 \(y=A_i\) 之下的部分的长度之和 于是我们定义 DP :\(f[i][j][k][h]\) 表示插入了前 \(i\) 个数,分成 \(j\) 段,\(y=A_i\) 之下的部分长

  • [LOJ 6704] 健身计划2019-11-11 20:03:56

    问题描述 九条可怜是一个肥胖的女孩. 她最近长胖了,她想要通过健身达到减肥的目的,于是她决定每天做n次仰卧起坐以达到健身的目的. 她可以将这n次动作分为若干组完成,每一次完成ai次仰卧起坐,每做完一次都会获得 \(F_{a_i}\) 点数,序列 \(F\) 满足如下关系: \[ \begin{cases} F_n=

  • loj #6342. 跳一跳 期望dp2019-11-04 17:00:51

    水题,逆推一遍即可~  code:  #include <bits/stdc++.h> #define N 12000010 #define LL long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; const LL mod=1000000007; int inv[N]; int main() { // setIO("

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

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

ICode9版权所有