战争p3866 2009 tjoi

P4309 [TJOI2013] 最长上升子序列题解

P4309 [TJOI2013] 最长上升子序列题解 正文 单调队列?单调锤子队列!! 本题的操作可以省略成: 单点修改 区间查询 好极了,此时我们有两种选择: 线段树和树状数组,(平衡树,真不会,下一位 因为不需要其他操作,所以我们还是选择更小巧更可爱的树状数组吧。 关于vector vector ......
题解 序列 P4309 4309 2013

[TJOI2013] 松鼠聚会 题解

[TJOI2013] 松鼠聚会 题解 切比雪夫距离 切比雪夫距离指的是在平面上的两个点\((x_1,y_1)\),\((x_2,y_2)\)之间横纵坐标之差绝对值中的大者。用公式表示则是\(f(a,b)=max(|x_a-x_b|,|y_a-y_b|)\)。 切比雪夫距离与曼哈顿距离之间可以相互转换 ......
题解 松鼠 TJOI 2013

P5901 [IOI2009] Regions

P5901 [IOI2009] Regions 更好的阅读体验 根号分治,过掉不难,但是想 \(\mathcal O(n\sqrt n)\) 还是有一些思维含量的。 首先考虑一种暴力:预处理两两颜色间的答案,\(\mathcal O(1)\) 查询。首先枚举颜色数,然后每种颜色 \(\mathcal ......
Regions P5901 5901 2009 IOI

P3870 [TJOI2009] 开关(线段树)

P3870 [TJOI2009] 开关 思路:可以用线段树来维护区间中亮灯的个数,区间修改用加上懒标记就好 #include <bits/stdc++.h> #define LL long long using namespace std; const int N = 1e5 + 10; struc ......
线段 P3870 3870 2009 TJOI

P4823 [TJOI2013] 拯救小矮人

发现无论选择哪些逃跑的小矮人,只要存在可行逃跑顺序,那么按逃跑能力从弱到强依次逃跑肯定可行。这或许难以理解,但只要将逃跑的过程反过来就豁然开朗了:人梯高度单调不降,如果逃跑能力弱的都能够到,那还不如让逃跑能力强的先来增高。 所以排序后就可以 DP 了,令 \(f_{i,j}\) 表示前 \(i\) ......
P4823 4823 2013 TJOI

【区间 dp】P5189 [COCI2009-2010#5] ZUMA 题解

P5189 容易想到区间 dp,考虑设计状态。 首先如果只有 \(l,r\) 两维的话,是无法转移的。然后发现 \(m\) 是转移的一个必要的条件,可加入 \(m\) 这一维。由于是区间 dp,所以只需考虑向左或向右加珠子,不妨令 \(f_{i,j,k}\) 消除 \([i,j]\) 以及 \(i\ ......
题解 区间 P5189 5189 2009

【算法笔记】 数位dp (例题是 [SCOI2009] windy 数)

数位dp 引入 数位 :是指把一个数字按位数一位一位地拆开,关注它每一位上的数字。如果拆的是十进制数,那么每一位数字都是 0~9,其他进制可类比十进制,就比如 链接: [SCOI2009] windy 数的二进制同理。 常见特征 要求统计满足一定条件的数的数量(即,最终目的为计数); 这些条件经过转 ......
例题 数位 算法 笔记 windy

P2595 [ZJOI2009] 多米诺骨牌

轮廓线 DP + 外部容斥。似乎是 CDQ 论文题。 有一个 \(n\times m\) 的矩形表格,其中有一些位置有障碍。现在要在这个表格内放一些 \(1\times2\) 或者 \(2\times1\) 的多米诺骨牌,使得任何两个多米诺骨牌没有重叠部分,任何一个骨牌不能放到障碍上。并且满足任何相 ......
多米诺骨牌 P2595 2595 2009 ZJOI

[HEOI2016TJOI2016]排序

# [P2824 [HEOI2016/TJOI2016] 排序](https://www.luogu.com.cn/problem/P2824) 直接模拟复杂度爆炸,有观察到它只要求一个数。 思维十分清奇。 我们先考虑一个序列,如果全是 `0/1`,该怎么做。 发现这个问题很好做,修改区间时只需要先 ......
2016 HEOI TJOI

P1864 [NOI2009] 二叉查找树 题解

二叉查找树 首先该树的中序遍历是唯一可以确定的(直接按照数据值排序即可)。 然后,因为权值可以被修改成一切实数,故我们完全可以把权值离散化掉。 于是我们现在可以设置一个 DP 状态 \(f[l,r,lim]\) 表示: 区间 \([l,r]\) 中的所有东西构成了一棵子树,且树中最小权值不小于 \( ......
题解 P1864 1864 2009 NOI

洛谷P4158 [SCOI2009] 粉刷匠 题解

所有的 \(DP\) ,只要式子一推出来(不管复杂度),那就很简单了,因为优化是成千上万种的…… 思路1: 我们考虑设 \(f[i][j][k]\) 表示:当前 \(DP\) 到第 \(i\) 块木板的第 \(j\) 个位置,共涂了 \(k\) 次,所能获得的最大收益。因为还要枚举当前这次涂是从哪到 ......
题解 P4158 4158 2009 SCOI

P3970 [TJOI2014] 上升子序列

题目 先将 \(a[i]\) 离散化。 设 \(f[i]\) 表示以数字 \(i\) 结尾的上升子序列数量。 则有 \(f[i]=\sum_{j=1}^{i-1}f[j]\)。 考虑用线段树实时维护 \(f[j]\),就可以 \(logn\) 查询。 扫一遍整个序列,因为不能算重复,所以 \(ans ......
序列 P3970 3970 2014 TJOI

[TJOI2018] 游园会题解

[TJOI2018] 游园会(dp套dp) 目录[TJOI2018] 游园会(dp套dp)前言:题目简化:解题思路:较为简单的一步:较为困难的步骤思路总结代码呈现:注释/后记: 前言: 这是和 dp 套 dp 的初遇,这不得好好了解一下。 题目简化: 先把题目进行简化,就是要构造字符串,对于 $le ......
游园会 题解 TJOI 2018

[SHOI2009] 会场预约 题解

LG 任意时刻每个点最多被一条线段覆盖 暴力删每条线段是对的 插入 \([l,r]\) 时需要删除的线段要么被 \([l,r]\) 包含,要么覆盖 \(l\) 或 \(r\) 性质非常强所以做法非常多 一种比较神奇的:对于两条线段 \([l_{1},r_{1}],[l_{2},r_{2}]\),定义 ......
题解 会场 SHOI 2009

CVE-2010-2883 学习记录(漏洞战争,启动!)

格式分析 Header: 文件头,用来注明 pdf 文件版本号 Body: 主要由组成文件的对象组成,例如图片,文字 Cross-regerence table: 交叉引用表,用于存放所有对象的引用、位置偏移、字节长度,用于随机访问pdf中的任意对象 Trailer: 文件尾,给出交叉引用表的位置( ......
漏洞 战争 2010 2883 CVE

P2824 [HEOI2016/TJOI2016] 排序

针对区间排序,显然能够上值域线段树类似,但这里有个更强的做法。 如果能转化成01序列,那么一个区间排序的时候,只需区间询问1的个数+区间修改就可以了。 因为是排列,很清晰的二分一个mid,把大于等于它的设为1,小于它的设为0,再跑上面的算法,最后check一下询问位置是否为1即可。 单调性?感性理解 ......
2016 P2824 2824 HEOI TJOI

题解 [HEOI2016/TJOI2016] 排序

题目链接 看到这道题按照套路首先想到二分答案(即二分 \(q\) 位置上的数,记作 \(mid\))。 再按照套路将大于 \(mid\) 的数字设为 \(1\),将等于 \(mid\) 的数设为 \(2\),小于 \(mid\) 的数字设为 \(0\)。 那么对于区间 \([l,r,0]\) 操作, ......
题解 2016 HEOI TJOI

P6411 [COCI2008-2009#3] MATRICA 题解

水题。 发现根据限制 \(M_{i,j}=M_{j,i}\) 可以知道除了主对角线上的点,其他的点都是成对出现的。也就是说如果有一条要求的 \(a_i\) 为奇数,那么至少有一个 \(c_i\) 在主对角线上。 记 \(S=\sum\limits_{i=1}^{k} (a_i\equiv 1\pmo ......
题解 MATRICA P6411 6411 2008

bzoj#4551. [Tjoi2016&Heoi2016]树

原题(需要魔法) 原题(不需魔法) 强制在线做法 \(O(n \log n)\) 考虑每一次标记点:只会影响其子树中的点 所以使用DFS序+线段树就可以辣! 离线做法 \(O(n \log n)\) 考虑将每一次标记的时间记录到点上 然后使用倍增 \(LCA\) 的思想向上倍增 离线做法 \(O(n ......
2016 bzoj 4551 Tjoi Heoi

P3761 [TJOI2017] 城市

原题 这题其实是有 \(O(n)\) 的解法的 我们考虑枚举删掉边的中间点,把树分成两个部分 然后对两棵树求直径中点,让删掉的边连接两个树的中点即可 最终复杂度 \(O(n^2)\) 如果通过加一条边操作让直径最小,则我们考虑把两棵树的中点相连 然后我们考虑 \(O(n)\) 的解法 首先,我们删的 ......
城市 P3761 3761 2017 TJOI

洛谷P8074 [COCI2009-2010#7] SVEMIR 题解

P8074 SVEMIR \(Solution\) : 这道题目乍一看感觉好难... 因为有绿色的加持,再加上一进题目就看见了头疼的三维坐标,不知道的还以为需要用到什么非常高大上的知识来解决这道题,其实只需要用到最小生成树就行了。 不会最小生成树的请出门左转:P3366 【模板】最小生成树 然后来仔 ......
题解 SVEMIR P8074 8074 2009

P3866 [TJOI2009] 战争游戏

2023-09-23 题目 P3866 [TJOI2009] 战争游戏 难度&重要性(1~10):6 题目来源 luogu 题目算法 最小割 解题思路 这道题比较简单。 我们考虑建图,需要注意的是我们要将点权变为边权: 当 \(a_{i,j}=0\) 时,\(S\to u\) 流量为 \(inf\) ......
战争 P3866 3866 2009 TJOI

P2598 [ZJOI2009] 狼和羊的故事

2023-09-22 题目 P2598 [ZJOI2009] 狼和羊的故事 难度&重要性(1~10):6 题目来源 luogu 题目算法 网络流,最小割 解题思路 一道大水题。 考虑如何建图: \(u=1\) 时,\(S\to u\) 流量为 \(inf\) \(u=2\) 时,\(u\to T\) ......
故事 P2598 2598 2009 ZJOI

美国2009年开始入侵华为总部服务器;马斯克脑机公司将进行首次人体试验;全球首个5G卫星电话拨通丨RTE开发者日报 Vol.54

开发者朋友们大家好: 这里是「RTE 开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点,欢迎大家留 ......
卫星电话 开发者 卫星 总部 人体

洛谷 P4391. [BOI2009] Radio Transmission 无线传输

[BOI2009] Radio Transmission 无线传输 题目描述 给你一个字符串 $s_1$,它是由某个字符串 $s_2$ 不断自我连接形成的(保证至少重复 $2$ 次)。但是字符串 $s_2$ 是不确定的,现在只想知道它的最短长度是多少。 输入格式 第一行一个整数 $L$,表示给出字符 ......
Transmission 无线 Radio 4391 2009

题解 LOJ2549【[JSOI2018] 战争】

problem 给你两个平面凸多边形 \(A,B\),\(Q\) 次询问,每次询问是一个向量 \(\vec v\),回答 \(A\) 与 \(B + \vec v\) 是否有交。\(n,Q \leq 10^5\)。 solution 观察闵可夫斯基和(Minkowsky sum)的定义,若将这个运算 ......
题解 战争 2549 2018 JSOI

洛谷 P4433 [COCI2009-2010#1] ALADIN

洛谷传送门 考虑一个前置问题:给定 \(a, b, n\),求 \(\sum\limits_{i = 1}^{n} (ia \bmod b)\)。 根据 \(x \bmod y = x - y \left\lfloor\frac{x}{y}\right\rfloor\) 可以化简式子: \[\sum ......
ALADIN P4433 4433 2009 2010

P3200 [HNOI2009] 有趣的数列

原题 这题我\(O(n^2)\)的做法竟然没有想出来,反思QwQ 首先\(O(n^2)\)的做法很好想,我们考虑从小到大往数组里填数,显然我们要求任何时刻编号为奇数的位置要填的比编号为偶数的位置要不少才行 于是我们设\(dp_{i,j,k}\)表示填了前\(i\)个数,奇数位填的个数为\(j\),偶 ......
数列 P3200 3200 2009 HNOI

P3201 [HNOI2009] 梦幻布丁 启发式合并,时间复杂度

[HNOI2009] 梦幻布丁 一种很暴力,很容易想到,但时间复杂度不对的做法: 既然每一次修改是以颜色作为单位的,那就用set或者链表(vector)维护每一个颜色出现的位置。将颜色\(x\)改为\(y\)的时候,遍历\(list_x\)的每一个点,判断其左右是否为\(y\),更新ans(不同颜色 ......
复杂度 布丁 梦幻 时间 P3201

题解 [CQOI2009] 中位数

题目链接 要想使得数字 \(x\) 是中位数,就必须选出 \(k\) 个小于 \(x\) 的数和 \(k\) 个大于 \(x\) 的数。 我们考虑对数字附上特殊值,小于 \(x\) 的数赋值为 \(-1\),大于 \(x\) 的数赋值为 \(1\),\(x\) 则赋值为 \(0\),那么若一段包含 ......
中位数 题解 CQOI 2009