ZJOI
P2605 [ZJOI2010] 基站选址
题意:有 \(n\) 个点,告诉你每个点距离第一个点的距离,需要在 \(n\) 个点中选择出 \(K\) 个关键点,选这个点作为关键点代价为 \(W_i\)。现在还有代价, \(S_i\) 表示如果距离 \(i\) 在 \(S_i\) 以内的点存在一个关键点,那么这个点就被覆盖了,不产生代价。选完 ......
P8330 [ZJOI2022] 众数
Solution 区间加这个操作看起来很阴间,实际上区间加不会改变区间内元素值的相对关系,所以答案就是区间内的众数出现次数加上区间外的众数出现次数。 操作区间两边如果都有值,那么这两个值相等一定是不劣的,因为如果我们希望 \(x\) 为操作区间之外的众数,那么相邻两个 \(x\) 之间的一段要么不选 ......
ZJOI 2017 树状数组
description 正确的树状数组是: void add1(int pos,int val){ while(pos<=n) c[pos]+=val,pos+=pos&-pos; } int ask1(int pos){ if(!pos) return 0; int ret=0; while(po ......
【数据结构】P4338 [ZJOI2018] 历史 题解
P4338 先考虑怎么安排崛起的先后顺序最优。 但是发现好像没有一个很好的顺序去进行崛起,并且由于 \(a_i\) 的值域会很大,所以即使知道顺序应该也会难以进行维护。 转换一下方向,正难则反。考虑每个点的贡献,但是颜色不同时只会算一次,所以要钦定是哪一个点造成的贡献。令当前考虑的点为 \(u\), ......
P1129 [ZJOI2007] 矩阵游戏 建模部分
link 题解没一个说为什么能用最小割的...(当然可能是只有我不知道) 设交换后行、列数相同的第 \(x\) 行和第 \(y\) 列(\(x,y\) 为原始位置),发现它们的交点现在位于 \((i,i)\),原来位于 \((x,y)\)。因为无论怎么交换位置,原来的交点仍是交点。 所以可以得出一个 ......
ZJOI2018 树
互异关系容斥即将不等号容斥成等号,对于连通块内的 \(\text{GF}\) 形式即为 \(\ln(x+1)\) 的展开级式,即令 \(F=\sum_{i=1}^{\infty}\frac{a_{i}(-1)^{i-1}x^i}{i}\),对 \(F\) 直接 \(\exp\) 即可。 而非常神奇的 ......
斜率优化 [ZJOI2007] 仓库建设
[ZJOI2007] 仓库建设 题目描述 L 公司有 \(n\) 个工厂,由高到低分布在一座山上,工厂 \(1\) 在山顶,工厂 \(n\) 在山脚。 由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L 公司的总裁 L 先生接到气象部门的电话,被告知三 ......
[ZJOI2009] 多米诺骨牌
脑子没了 直接做 \(2^{28}\) 肯定是不行的,所以必定要施加容斥,先考虑对行列均进行容斥,也就是枚举哪些行间、列间没有任何骨牌跨过,可以发现,这些行列将网格划分成了若干矩形,那么只要算出这些矩形的方案乘起来就行了,矩形的方案容易直接插头 \(dp\) 算 但是并没有起到优化的效果,因此考虑只 ......
[ZJOI2010] 基站选址
我感觉我缺了一个dp优化的思路我不知道我是不是能够对状态继续优化dp写少了。。。确诊了 题目描述 有 NN 个村庄坐落在一条直线上,第 i(i>1)i(i>1) 个村庄距离第 11 个村庄的距离为 DiDi。需要在这些村庄中建立不超过 KK 个通讯基站,在第 ii 个村庄建立基站的费用为 CiCi ......
P1129 [ZJOI2007] 矩阵游戏
挺喜欢的一题。 首先我们很容易观察到一个性质:每一行和每一列上的黑色方格的数量是不变的,只能改变它在那一行和那一列的排列顺序。由此若是有某一行或某一列上没有黑色方格,直接输出 No 即可。此时我们考虑的情况就是每一行和每一列上至少都会有一个黑色方格。 这时有一个结论:若有解我们可以仅通过交换行来达成 ......
luoguP2600 [ZJOI2008] 瞭望塔
前言: 头皮发麻。 正题: 由于半平面交的任何一个元素都可以完全看到这条直线的任何位置,而题目要求一个点能看到所有直线的位置,显然是半平面交。 所以,我紧急学了半天计算几何入门和半平面交,总算把这道题过了。 这道题,我们可以把折线上的点按从左到右两两相连,构成 \(n-1\) 条有向直线。显然瞭望塔 ......
P2602 [ZJOI2010] 数字计数
P2602 [ZJOI2010] 数字计数 没想到这么大,记得开LL 调试了许久,只能说灵茶太牛了 点击查看代码 #include <bits/stdc++.h> using namespace std; #define LL long long const int N=250,mod=998244 ......
[ZJOI2015] 地震后的幻想乡积分题解
题意: 给定一个无向图,边权为 \([0,1]\) 之间的随机变量。求图最小生成树最大边权的期望。 \(n\le 10\)。 Soluion: Meatherm口诏:我都不知道这个东西怎么想出来的 针对这道题,好像正常的方法是转计数然后斯特林反演+dp。但是如果想到概率理论,你就已经赢了 很遗憾,我 ......
ZJOI2015 地震后的幻想乡
「ZJOI2015」地震后的幻想乡 前言: 想了很久,最后只能失败告终。 基本分析到了一半,只是没有将其转化为古典概型后考虑求解方案数。 说实话有点可惜…… 题意: 给定一张 \(n\) 个点 \(m\) 条边的无向连通图,每条边的边权是 \([0,1]\) 之间的随机实数,求其最小生成树上最大边权 ......
P2607 [ZJOI2008] 骑士
P2607 [ZJOI2008] 骑士 [P2607 ZJOI2008] 骑士 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 目录P2607 [ZJOI2008] 骑士题目大意思路code 题目大意 给你一个 \(n\) 个点,\(n\) 条边的基环树森林。 你可以从中选择若干个 ......
P2595 [ZJOI2009] 多米诺骨牌
轮廓线 DP + 外部容斥。似乎是 CDQ 论文题。 有一个 \(n\times m\) 的矩形表格,其中有一些位置有障碍。现在要在这个表格内放一些 \(1\times2\) 或者 \(2\times1\) 的多米诺骨牌,使得任何两个多米诺骨牌没有重叠部分,任何一个骨牌不能放到障碍上。并且满足任何相 ......
P6631 [ZJOI2020] 序列题解
难度:困难 主要算法:贪心 题目链接:https://www.luogu.com.cn/problem/P6631 解题思路 简化问题:定义直线为覆盖ai,ai+1,ai+2 的操作,跳线为覆盖ai,ai+2,ai+4的操作。题意简化为使用一些直线和一些跳线使每个位置被覆盖正好ai次。 小范围思考: ......
P2602 [ZJOI2010] 数字计数&HDU 2089 (数位dp)
luogu HDU 最近在复习数位dp 数位dp,就是在一些计数问题的时候按照一位一位的顺序依次计算,通常可以采用记忆化搜索的方式 这两道题就是很典型的数位dp 数位dp通常要记录是不是顶着上限,有没有前导零,到了哪一位以及一些特殊的条件要求。 数位dp通常要把某个区间的问题转变成两个区间的差来方便 ......
ZJOI2019 语言
Day 0001 0101。 考虑对每个点 \(u\) 计算贡献,求出所有经过它的路径的两个端点,包含这些点的最小连通块大小就是以 \(u\) 为端点的 \((u,v)\) 答案数对的个数。 根据经典结论,对于 \(m\) 个点的点集 \(u_1,u_2,\cdots ,u_m\),钦定 \(u_0 ......
P2598 [ZJOI2009] 狼和羊的故事
2023-09-22 题目 P2598 [ZJOI2009] 狼和羊的故事 难度&重要性(1~10):6 题目来源 luogu 题目算法 网络流,最小割 解题思路 一道大水题。 考虑如何建图: \(u=1\) 时,\(S\to u\) 流量为 \(inf\) \(u=2\) 时,\(u\to T\) ......
P6631 [ZJOI2020] 序列
可以将问题用形象地方式来表述。给定一排点,第 \(i\) 个点有它需要的覆盖次数 \(a_i\)。有两种线段,一种能覆盖连续的一些点,称其为连续线段;另一种能覆盖相邻间隔为 \(1\) 的一些点,称其为间隔线段。现在要用尽可能少的线段覆盖所有点 \(i\) 恰好 \(a_i\) 次。 发现如果没有间 ......
【线段树合并、虚树】P5327 [ZJOI2019] 语言
终于 1k AC 了家人,感动吧。 贺了很久,很累。 前置题目:P3320 [SDOI2015] 寻宝游戏 虚树的边权和: \[\sum dep_{a_x} - \sum_{x < n} dep_{a_x, a_{x + 1}} - dep_{a_{1}, a_{n}} \]考虑转化贡献,求过该点的 ......
P2592 [ZJOI2008] 生日聚会
一个一个填过去,显然对之后有影响的是当前的后缀。所以令 $f_{i,j,p,q}$ 表示前 $i+j$ 个人有 $i$ 个男孩和 $j$ 个女孩,所有后缀中男孩最多比女孩多 $p$ 个,女孩最多比男孩多 $q$ 个的方案数,转移直接枚举下一个位置是男孩还是女孩。 ......
「题解注释」P3345 [ZJOI2015] 幻想乡战略游戏
[题解 P3345 【[ZJOI2015]幻想乡战略游戏】 - Baka's Blog - 洛谷博客 (luogu.org)](https://kai586123.blog.luogu.org/solution-p3345) 耗时:半个下午 代码注释: ```cpp #include typedef ......
[ZJOI2007]报表统计
# [P1110 [ZJOI2007] 报表统计](https://www.luogu.com.cn/problem/P1110) 考虑到操作 `MIN_SORT_GAP` 比较简单,用一个 `set` 维护前驱后继即可,重点关注 `INSERT`,`MIN_GAP`。 发现我们可以先开一个单链表来 ......
ZJOI 2004 嗅探器
## [$ZJOI$ $2004$ 嗅探器](https://www.luogu.org/problem/P5058) ### 一、题目大意 给出一张无向图以及两个点 $root$ 和 $ed$,找出一个编号最小的并且在所有$root$ 到 $ed$ 的路径上的点。 ### 二、解题思路 考虑缩点时 ......
P3352 [ZJOI2016] 线段树 思考--zhengjun
有一个显然的 $O(n^3q)$ 的做法: - 设 $f_{i,l,r,x}$ 表示 $i$ 次操作过后,区间 $[l,r]$ 的数 $\le x$,$a_{l-1},a_{r+1}>x$ 的方案数。 - 转移:$$f_{i,l,r,x}=f_{i-1,l,r,x}\times g_{l,r}+\s ......
ZJOI2015 地震后的幻想乡
Hint 是 $n$ 个 $[0,1]$ 之间均匀随机分布的数的第 $k$ 小值的期望为 $\frac{k}{n+1}$,证明可见[这篇博客](https://www.cnblogs.com/penth/p/9743303.html)。 考虑 Kruskal 求最小生成树的过程。从小到大加入每条边, ......
【题解】Luogu[P2607] [ZJOI2008] 骑士
题目说给定 $n$ 个点 $n$ 个关系,也就是 $n$ 条边,显然是基环树,又因为没有规定一定连通,于是我们可以将题目简化为给定一个基环树森林,点有点权,相邻的两个点不能同时选,问最大点权和。 ### part1 我们先考虑如果没有环,只是树,该怎么做。 这一部分很简单,令 $f_{i,0/1}$ ......