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. 什么是Python中的套接字编程?

    摘要:本文涵盖了有关使用Python进行套接字编程的所有领域.套接字可以帮助您建立这些连接,而Python无疑可以简化连接. 本文分享自华为云社区<从零开始学python | 什么是Python ...

  2. 8种桌面IDE CodeArts智能代码补全类型

    摘要:代码补全可以有效的提升开发效率.减少拼写错误和输入代码量.CodeArts 依赖于 codearts.smartassist-java-ls 插件实现代码补全功能. 本文分享自华为云社区< ...

  3. 如何配置Apple推送证书 push证书

    ​ 转载:如何配置Apple推送证书 push证书 想要制作push证书,就需要使用快捷工具appuploader工具制 作证书,然后使用Apple的推送功能配置push证书,就可以得到了.PS:pu ...

  4. OpenTSDB 数据存储详解

    本文首发于 vivo互联网技术 微信公众号链接: https://mp.weixin.qq.com/s/qayKiwk5QAIWI7-nyD3FVA作者:DuZhimin 随着互联网.尤其是物联网的发 ...

  5. 服务降级,限流等--sentinel(SpringCloud Alibaba)

    一. 介绍Sentinel,中文翻译为哨兵,是为微服务提供流量控制.熔断降级的功能,它和Hystrix提供的功能一样,可以有效的解决微服务调用产生的"雪崩"效应,为微服务系统提供了 ...

  6. CompletableFuture 测试类

    package com.example.apidemo.completableFutrue; import java.util.Random; import java.util.concurrent. ...

  7. echart问题集合

    legend与图标间隔 echarts自定义tooltip提示框内容 https://blog.csdn.net/dreamsup/article/details/56667330 echarts中自 ...

  8. java基础-异常Exception-day10

    目录 1. 练习 2. 异常三联 try-catch-finally 3.异常的分类 3. 子类throws的异常 小于等于父类的异常 4.自定义异常 1. 练习 package com.msb01; ...

  9. Feign源码解析6:如何集成discoveryClient获取服务列表

    背景 我们上一篇介绍了feign调用的整体流程,在@FeignClient没有写死url的情况下,就会生成一个支持客户端负载均衡的LoadBalancerClient.这个LoadBalancerCl ...

  10. spring--是如何解决单例模式下循环依赖问题的

    Spring 解决单例 bean 的循环依赖主要依赖于容器的三级缓存机制,以及 bean 的提前暴露.这里是它如何工作的: 三级缓存: 一级缓存(singletonObjects):存储已经经过完整生 ...