Lectures
Copy and Paste 3(P9523)
Problem

Solution

- 转移方程中的“父问题枚举子问题寻找转移”可以转成“子问题寻找父问题主动转移”处理
Goldfish and pikes(qoj1249)
Problem

Solution

- “大鱼吃小鱼”的题目,必然考虑值域倍增的性质
- “不断操作直至停止”的题目,考虑通过性质将操作分段,每段中有较好的性质(如为一区间等)
Easy Jump(gym103687E)
Problem

Solution

- 如果有大致的贪心策略,形如某种情况下用第一种策略,其余情况用第二种,则可以二分/枚举这个阈值进行处理
Student's Camp(CF708E)
Problem

Solution

- 要求区间相交时的容斥技巧:区间必须相交不好刻画,条件较多;但是区间不交很好刻画:\(r_a<l<b\) 或 \(r_b<l_a\),至多有一个成立,因此可以很好地容斥。
Tiger 机(P9379)
Problem

Solution

- “多次询问同一贪心过程得到的结果”的题目,可以考虑计算出每一条转移边(而不是点)的贡献,然后对每次询问,只用统计每条边贡献的系数即可。
Subset(gym103428B)
Problem

Solution

- 反演思想:如果通过 \(f\) 的方案数能推出 \(g\) 的方案数,则若转移矩阵可逆,则 \(g\) 的方案数也能推出 \(f\) 的方案数。说起来挺蠢的,但是容斥是可以这样解释的。下次到底用 \(-1\) 的几次方不好理解的时候就这样想吧。不过反演思想除了对容斥起作用也可以在类似这样的题里起作用:选出集合 \(\rightarrow\)(乘上阶乘)\(\rightarrow\) 选出不可重序列 \(\rightarrow\)(用性质映射)\(\rightarrow\) 选出可重序列 \(\rightarrow\) dp 处理
Alice、Bob 与 DFS(loj3633)
Problem

Solution

- SG 函数的拓展:SG 函数是可以定义在集合上的,所以如果我们规定的游戏是“\(i\) 可以转移到 \(\{R_i\}\) 或集合 \(S\)”,则可以把它变成在 \(\mathbb{N}\setminus S\) 上的游戏“\(i\) 可以转移到 \(\{R_i\}\)”,然后在这个集合上用 SG 定理,此时用于异或的值应该是第 \(k\) 小中的 \(k\)。
Just Kingdom (CF1578J)
Problem

Solution

- 形如“一个初始状态至少要多大,才能使末状态满足条件”的题,可以考虑倒推。很多题都要想到倒推。
- 对于“不断操作,每次加上 \(\max(A_i,B_i)\)”之类的问题,一定要记得值域倍增的技巧,只考虑值域没有倍增的情况如何快速转移!(上面的吃鱼题系列也都是这种技巧)
Wall Painting (PTZ winter 2020 Day2 C, Qoj1189)
Problem

Solution


- 关于线段覆盖最优化的题目,似乎要么是可以证明区间互不包含最优(此时可以扫右端点维护左端点处理),要么可以证明区间不部分相交最优(此时区间之间的关系形成一棵树)。立个 flag,以后注意看看是不是区间题都是这样的。
Square Constraints (AGC036F)
Problem

Solution


- 关于排列的 dp 问题,主要是两种形式:一种是相对大小的限制,一种是上界的限制。前者我们主要用的是按值域插入的方式,几乎别无良法;后者我们主要用的是 \(\prod (A_i-i+1)\) 的方式,也几乎别无良法。这道题显然属于后者,所以我们只能考虑 \(\prod (A_i-i+1)\)。为此我们必须将上界进行排序,同时我们对下界毫无办法,所以我们必须容斥,于是下界就变成了上界,题目就可做了。事实上这个思路可能应该是必然的,因为面对这样的问题我们应该没有别的路。
Cupboards Jumps (CF1500F)
Problem

Solution

- 非常典的题,技巧就是先求出一种比较简单清晰的 dp 形式,然后尝试用
set维护 dp 值,如果整个 dp 都形如 \(f_{x,i}\rightarrow f_{x+1,i+j}\) 之类的良好形式,则可以很好地用 set 打标记转移。
Tenzing and Random Operations (CF1842G)
Problem

Solution

- 拆括号的技巧。当遇到 \(\prod a_i\) 的期望的时候,可以考虑拆括号,然后计算括号中的每一项出现的概率。
1st ucup stage 20 E Strange Keyboard
Problem

Solution


- 字典树上所有子树的叶子个数之和是 \(O(\sum |s_i|)\) 的,这是一个有用的结论,值得记下来。
- 同余最短路也有很深刻的性质:我们只关心边的集合而不关心走的顺序!所以同余最短路可以做到 \(O(nm)\),其中 \(n\) 为环长,\(m\) 为不同的边权数量。写法为沿着环推两遍即可。
2nd ucup stage 6 K Jump Graph
Problem

Solution

- 关于这样的“两两之间的权值”的问题,注意一定要能够倒过来思考。例如这题,题面是“\(u\) 到所有点的距离和”,要想到把这个权值倒过来,考虑每个点对每个 \(u\) 贡献多少,然后发现这个贡献的形式很好。所以我们可以将这个贡献改成由 \(v\) 节点给 \(u\) 节点贡献,可以发现这样的贡献形式要好很多,是形如一个不断扩张的区间的形式,因此这道题就可以通过不断跳区间解决。
2nd ucup stage 6 B The Doubling Game 2
Problem

Solution



- 在树上的随机选顺序的问题,
Lectures的更多相关文章
- UVA 607 二十二 Scheduling Lectures
Scheduling Lectures Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submi ...
- zoj1183 Scheduling Lectures
这道题题意不想说了,跑了640ms,感觉水过去了,应该能通过单调队列优化,很长时间没碰已经不知道怎么写了,就说说现在的写法吧. 状态定义很关键:dp[i][j]把前j个topic放在前i堂课. 因为这 ...
- (转)A curated list of Artificial Intelligence (AI) courses, books, video lectures and papers
A curated list of Artificial Intelligence (AI) courses, books, video lectures and papers. Updated 20 ...
- 递推DP UVA 607 Scheduling Lectures
题目传送门 题意:教授给学生上课,有n个主题,每个主题有ti时间,上课有两个限制:1. 每个主题只能在一节课内讲完,不能分开在多节课:2. 必须按主题顺序讲,不能打乱.一节课L时间,如果提前下课了,按 ...
- ZOJ-1183-Scheduling Lectures
可以用贪心求最小讲课次数,贪心策略也很好想,就是对于任意主题,能早讲就早讲.这种方案的讲课次数一定是最少的,但是不满意指标不一定是最小,然后再利用动态规划求在最少讲课次数前提下的最小不满意指标. 方法 ...
- [RN] 02 - Overview: React Native Practice of 50 lectures
观看笔记:零基础 React Native 实战开发视频 50讲 本篇效果:RN入门,整体认识 基本原理 # 1 React到RN # 2 一个简单的例子 /** * Sample React Nat ...
- CF1463E Plan of Lectures
考虑我们两种操作: 我们把第一种操作在\(x\to y\)连一条权为-1的边. 第二种操作\(x\to y\)连-1,\(y\to x\)连1的边. 当无法操作则是环里有负环. 否则我们把第二种操作涉 ...
- 计算机人物系列-Mauchly,Eckert,Goldstine
关键词:莫尔学院(Moore School),阿伯丁试验场(Aberdeen Proving Ground), 雷明顿兰德公司(Remington Rand Corporation), IBM院士(I ...
- 【深度学习Deep Learning】资料大全
最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books by Yoshua Bengio, Ian Goodfellow and Aaron C ...
- xv6的作业翻译——作业1 - shell和系统调用
Xv6的lecture LEC 1 Operating systems L1: O/S overview L1:O/S概述 * 6.828 goals 6.828的目标 Understan ...
随机推荐
- 关于单元测试的那些事儿,Mockito 都能帮你解决
摘要:相信每一个程序猿在写Unit Test的时候都会碰到一些令人头疼的问题:如何测试一个rest接口:如何测试一个包含客户端调用服务端的复杂方法:如何测试一个包含从数据库读取数据的复杂方法...这些 ...
- 五大不良 coding 习惯,你占了几样?
在之前的文章中,我们一起解读了2021年数据成本报告.根据 IBM 和 Ponemon Institute 2021年的报告,全球平均数据泄露成本约为424万美元.为了降低数据泄露造成的成本,企业可以 ...
- 智能电视APP鲜时光,如何应用AB测试打造极致的用户观看体验?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 数字技术的发展让智能电视普及率大幅提升,2023年智能电视的市场渗透率已超90%,与智能电视相匹配的各类应用 ...
- 聚焦企业数据生命周期全链路 火山引擎数智平台 VeDI 发布《数据智能知识图谱》
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,火山引擎数智平台(VeDI)正式发布<数据智能知识图谱>(以下简称「图谱」),内容覆盖了包括数据 ...
- MySQL 项目中 SQL 脚本更新、升级方式,防止多次重复执行
一套代码,多家部署时,在SQL脚本升级时,通过一个SQL文件给运维,避免出现SQL执行序顺出错及漏执行SQL SQL Server 项目中 SQL 脚本更新方式 Oracle 项目中 SQL 脚本更新 ...
- Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
背景: 在kafka集群上使用topic相关的命令时,报错: Exception in thread "main" joptsimple.UnrecognizedOptionExc ...
- 关于改造维护工单BAPI_ALM_ORDER_MAINTAIN用于生产订单组件批量修改
1.研究背景 1.1.业务背景 由于销售.研发.工艺等需要频繁变更,导致工单中组件需要频繁的进行变更,修改组件的物料,数量,库存地点,工序等内容. 1.2.技术痛点 为了满足要求,使用了函数:CO_X ...
- 【3rd Party】Cpp 中使用 Protobuf
前置条件: [Protoc]VS2019 (VS平台) 使用 CMake 编译安装.使用 Protobuf 库 [ToolChains]CLion(VS2019) + CMake + Vcpkg 的使 ...
- POJ - 1113 Wall (凸包模板) Graham Scan 算法实现
Description Once upon a time there was a greedy King who ordered his chief Architect to build a wall ...
- 解决SUM函数返回为NULL
解决SUM函数返回为NULL SUM函数的作用:计算某一字段中所有行的数值和, 使用SUM函数进行对符合条件的结果行数进行求和. 问题产生: sum 求和时会对 null 进行过滤,不计算,但如果没有 ...