Copy and Paste 3(P9523)

Problem

Solution

  1. 转移方程中的“父问题枚举子问题寻找转移”可以转成“子问题寻找父问题主动转移”处理

Goldfish and pikes(qoj1249)

Problem

Solution

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

Easy Jump(gym103687E)

Problem

Solution

  1. 如果有大致的贪心策略,形如某种情况下用第一种策略,其余情况用第二种,则可以二分/枚举这个阈值进行处理

Student's Camp(CF708E)

Problem

Solution

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

Tiger 机(P9379)

Problem

Solution

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

Subset(gym103428B)

Problem

Solution

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

Alice、Bob 与 DFS(loj3633)

Problem

Solution

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

Just Kingdom (CF1578J)

Problem

Solution

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

Wall Painting (PTZ winter 2020 Day2 C, Qoj1189)

Problem

Solution



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

Square Constraints (AGC036F)

Problem

Solution



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

Cupboards Jumps (CF1500F)

Problem

Solution

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

Tenzing and Random Operations (CF1842G)

Problem

Solution

  1. 拆括号的技巧。当遇到 \(\prod a_i\) 的期望的时候,可以考虑拆括号,然后计算括号中的每一项出现的概率。

1st ucup stage 20 E Strange Keyboard

Problem

Solution



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

2nd ucup stage 6 K Jump Graph

Problem

Solution

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

2nd ucup stage 6 B The Doubling Game 2

Problem

Solution





  1. 在树上的随机选顺序的问题,

Lectures的更多相关文章

  1. UVA 607 二十二 Scheduling Lectures

    Scheduling Lectures Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submi ...

  2. zoj1183 Scheduling Lectures

    这道题题意不想说了,跑了640ms,感觉水过去了,应该能通过单调队列优化,很长时间没碰已经不知道怎么写了,就说说现在的写法吧. 状态定义很关键:dp[i][j]把前j个topic放在前i堂课. 因为这 ...

  3. (转)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 ...

  4. 递推DP UVA 607 Scheduling Lectures

    题目传送门 题意:教授给学生上课,有n个主题,每个主题有ti时间,上课有两个限制:1. 每个主题只能在一节课内讲完,不能分开在多节课:2. 必须按主题顺序讲,不能打乱.一节课L时间,如果提前下课了,按 ...

  5. ZOJ-1183-Scheduling Lectures

    可以用贪心求最小讲课次数,贪心策略也很好想,就是对于任意主题,能早讲就早讲.这种方案的讲课次数一定是最少的,但是不满意指标不一定是最小,然后再利用动态规划求在最少讲课次数前提下的最小不满意指标. 方法 ...

  6. [RN] 02 - Overview: React Native Practice of 50 lectures

    观看笔记:零基础 React Native 实战开发视频 50讲 本篇效果:RN入门,整体认识 基本原理 # 1 React到RN # 2 一个简单的例子 /** * Sample React Nat ...

  7. CF1463E Plan of Lectures

    考虑我们两种操作: 我们把第一种操作在\(x\to y\)连一条权为-1的边. 第二种操作\(x\to y\)连-1,\(y\to x\)连1的边. 当无法操作则是环里有负环. 否则我们把第二种操作涉 ...

  8. 计算机人物系列-Mauchly,Eckert,Goldstine

    关键词:莫尔学院(Moore School),阿伯丁试验场(Aberdeen Proving Ground), 雷明顿兰德公司(Remington Rand Corporation), IBM院士(I ...

  9. 【深度学习Deep Learning】资料大全

    最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron C ...

  10. xv6的作业翻译——作业1 - shell和系统调用

    Xv6的lecture LEC 1 Operating systems   L1: O/S overview L1:O/S概述   * 6.828 goals 6.828的目标   Understan ...

随机推荐

  1. 养殖场新来了个“AI管家”

    摘要:定制化算法+端侧一键部署,打通AI全流程. 本文分享自华为云社区<[云享·伙伴]第4期:养殖场新来了个"AI管家">,作者: 华为云社区精选. 民以食为天.肉类是 ...

  2. 手把手教你如何配置DBeaver对接FusionInsigth MRS Spark2x

    摘要:dbeaver是免费和开源为开发人员和数据库管理员通用数据库工具.本文介绍如何配置dbeaver对接FusionInsigth MRS Spark2x. 本文分享自华为云社区<DBeave ...

  3. 火山引擎数智平台旗下DataWind升级半年报 6大功能助力企业数据消费

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   "以数据消费促数据生产"--是火山引擎提出的数据飞轮的核心理念,在这一理念的指导下,智能数 ...

  4. Typora 一行显示多图

    图片下显示说明 ![](https://pic.cnblogs.com/avatar/80824/20200328151729.png) <center style="font-siz ...

  5. 阿里云CentOS数据盘挂载(磁盘扩容)

    1. df -h Disk label type 值为dos表示MBR分区,值为gpt表示GPT分区. [root@iZuf66gcq71y5hlfv02w6aZ ~]# yum install -y ...

  6. 微信小程序 wx:for 遍历 Map集合

    如果要在微信小程序wxml中对ES6的Map集合进行wx:for遍历,如下: let map = new Map(); map.set("a",[1,2,3]); map.set( ...

  7. Codeforces Round #730 (Div. 2) A~D题个人题解

    比赛链接:Here 1543A. Exciting Bets math, 给定两个数字 \(a,b (a,b \le 1e18)\) 和以下两种操作: \(a + 1,b+1\) \(a-1,b-1\ ...

  8. 第四届蓝桥杯(2013)C/C++大学A组省赛题解

    第一题:高斯日记 大数学家高斯有个好习惯:无论如何都要记日记. 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生 ...

  9. JSONObject--- JSON---与bean对象的转换

    1.对象PO转json-string:  String json = JSON.toJSONString(customerBueventAccountPO); 1.可能用到的jar宝: json-li ...

  10. java bean和String之间相互转化

    开发中有的表字段特别多,在数据传递过程中要写很多类似实体类的get.set方法把字符串型的数据放到对象里然后,在做存储之类的操作,如果实体的字段少不会觉得多麻烦,但是字段如果有几十个或者更多那么这种简 ...