https://wenku.baidu.com/view/2445a0322f60ddccda38a023.html

关键点:不超过7条

根据咕咕原理,所以答案最少是N/7;(N小于49就暴力)

随机化找两个点判断直线上的点个数,随机500次,概率就很高了

法二:

点数大于50,答案至少是8

答案一定是7条路之一

随机找7个点,按照级角序排序,点数大于7的直线就删去上面的点(之后random不考虑,但是实际上不能真删除,因为可能两条路有交点),每次一定可以找到至少一条路

复杂度就很稳了

思想:有些很麻烦处理的事情,范围又不太大,都可以随机化搞搞,能分析出概率就很好了

可能无穷组解,

无穷组解一定可以跳过去再跳回来,A,B向量必须共线

A,B不共线:

方案数有限。

坐标范围大而且正负很麻烦

解方程求出到(x,y)以及每个障碍点的用A的次数,用B的次数

转化成格点往上往右走的方案数

障碍?

套路地,f[i]表示到第一次到第i个障碍点的方案数,容斥即可

A,B共线:

把这条直线上的障碍点和(x,y)都投影到y或者x轴上

没有明显的阶段,但是可以拓扑排序计数+判环

0的特殊讨论很恶心

思路:

基于inf、共线 讨论,转化为不同的模型

路径统计模型要熟悉:

1.网格图,往上往右走

  有障碍点的——》容斥,第一个碰到障碍点编号

  格点不是很多的多源多汇——》DP,每次新加入一个点,方案数+1,到了一个汇点更新ansfzyzojP3979 -- [校内训练20180914]魔法方阵

  矩形到矩形的路径AGC 018E.Sightseeing Plan——网格路径问题观止

2.DAGtopo计数

 DAG图上的DP

肯定考虑质因数分解了

A=2^a*3^b*5^d*7^e

a/3+b/2+d+e<=700

枚举b,a,把2^a*3^b的值、每个数字个数(最小情况下)放进hash表里,相同的mod值,位数小的优,位数相同,小的数多的优(字典序)

枚举d,e,去hash表里查询,更新答案比较方式同理

思路:

BSGS或者折半,一半的位数比较小的时候,就可以用hash表存一部分再枚举另一部分了

复杂度指数级下降。

m很小,n很大,仿佛有矩乘的影子

所以,f[n][m],和为n放了m个k的所有情况的sin乘积和,

最后一个k+1时候,

发现,和最后一个数是cos也有关系,所以变成f[n][m][0/1]然后矩乘即可

思路:

一种分段的序列DP,考虑重新开一段或者最后一段延长1

各种斯特林数的递推都有类似思路

经典挖串DP

推完式子状态过多,bool的DP的优化:

1.压位,把某一维的状态变成,维度/64(类似分块),然后bool变成unsigned long long,每一位0/1表示这个块的第i位是不是0/1

应用范围广,只是除以64,不彻底

2.把某一维删掉,变成,某状态下某个值的最值,

有的时候不行,看题目了,但是完全去除一维,复杂度降低一个量级

CodeChef题目选讲的更多相关文章

  1. ICPC题目选讲

    Traveling in the grid world 题目描述 有一个 \(n\times m\) 的格点图,两点之间走他们的连线,但是这条连线不能恰好覆盖其他整点.还要求相邻两步之间的连线不能斜率 ...

  2. hwy题目选讲

    \[ f(n) = n/5 + f(n/5)\\ g(n) = (n\mod10)! * g(n/5)\mod 5\\ ans = f(n)*inv(2^g(n))\\ \]

  3. 【WC2019笔记】IOI2018 / ACM题目选讲

    哇!济南的 rqy 大佬讲课!就是 $luogu$ 上有名的那位! 上面这句话写错了,请大家无视 XylophoneIOI2018 练习赛 T2题意:交互提有一个 $0\sim n-1$ 的排列,保证 ...

  4. 2019暑期金华集训 Day6 杂题选讲

    自闭集训 Day6 杂题选讲 CF round 469 E 发现一个数不可能取两次,因为1,1不如1,2. 发现不可能选一个数的正负,因为1,-1不如1,-2. hihoCoder挑战赛29 D 设\ ...

  5. PJ可能会用到的动态规划选讲-学习笔记

    PJ可能会用到的动态规划选讲-学习笔记 by Pleiades_Antares 难度和速度全部都是按照普及组来定的咯 数位状压啥就先不讲了 这里主要提到的都是比较简单的DP 一道思维数学巧题(补昨天) ...

  6. PJ考试可能会用到的数学思维题选讲-自学教程-自学笔记

    PJ考试可能会用到的数学思维题选讲 by Pleiades_Antares 是学弟学妹的讲义--然后一部分题目是我弄的一部分来源于洛谷用户@ 普及组的一些数学思维题,所以可能有点菜咯别怪我 OI中的数 ...

  7. 正睿OI DAY3 杂题选讲

    正睿OI DAY3 杂题选讲 CodeChef MSTONES n个点,可以构造7条直线使得每个点都在直线上,找到一条直线使得上面的点最多 随机化算法,check到答案的概率为\(1/49\) \(n ...

  8. [转载]CSP-J/S 第一轮知识点选讲

    CSP-J/S 第一轮知识点选讲 转载自这里 感谢原博主的大力整理! 信息学史及基本知识 一.信息学及计算机史 计算机的顶级奖项:图灵奖.冯·诺依曼奖 图灵奖:由ACM(美国计算机协会)设立于1966 ...

  9. DP选讲

    $DP$选讲直接上题吧放个题单[各省省选DP](https://www.luogu.com.cn/training/151079)$P5322[BJOI2019]$排兵布阵一眼题,考虑$dp[i][j ...

随机推荐

  1. java 双因素认证(2FA)TOTP demo

    TOTP 的全称是"基于时间的一次性密码"(Time-based One-time Password).它是公认的可靠解决方案,已经写入国际标准 RFC6238. 很早就知道有这个 ...

  2. ElasticSearch实践系列(二):探索集群

    前言 为了方便ELK的逐步搭建,我们本篇文章先安装Kibana,然后用Kibana的DevTols执行命令.也可以安装elasticsearch-head运行命令. 安装Kibana 参考Instal ...

  3. Spring 中配置log4j日志功能

    一,添加log4j依赖包 可从官网上下载该依赖包log4j-x.x.xx.jar,下载后 build path,添加依赖包 二,创建 log4j.properties 配置文件 log4j.prope ...

  4. flask-socketio笔记

    Flask-SocketIO使Flask应用程序可以访问客户端和服务器之间的低延迟双向通信. 客户端应用程序可以使用Javascript,C ++,Java和Swift中的任何SocketIO官方客户 ...

  5. Centos6.9下RocketMQ3.4.6高可用集群部署记录(双主双从+Nameserver+Console)

    之前的文章已对RocketMQ做了详细介绍,这里就不再赘述了,下面是本人在测试和生产环境下RocketMQ3.4.6高可用集群的部署手册,在此分享下: 1) 基础环境 ip地址 主机名 角色 192. ...

  6. 百度之星-1002-list应用

    用stl的list即可,注意...代码的简洁性(被debug伤痛)注意合并时可以手动pop,或者用splice进行合并,不能用merge!!!merge合并是自带排序!!! #include<b ...

  7. @Scheduled 定时

    此文章记录在spring boot项目中的使用 1,在项目的启动类中加注解@EnableScheduling,表示此项目可以进行定时 @SpringBootApplication @EnableSch ...

  8. C#【结对编程作业】小学数学习题助手

    一.软件成品展示 软件本体下载(包括程序及其更新日志,源码工程包,UML图,API接口文档,算法介绍文档,算式计算excel实例,浅查重程序) 链接: http://pan.baidu.com/s/1 ...

  9. LINUX内核分析第五周学习总结——扒开系统调用的“三层皮”(下)

    LINUX内核分析第五周学习总结--扒开系统调用的"三层皮"(下) 标签(空格分隔): 20135321余佳源 余佳源 原创作品转载请注明出处 <Linux内核分析>M ...

  10. 读书笔记(chapter7)

    第七章 链接 链接是将各种代码和数据部分收集起来并且组合成为一个单一文件的过程.1.这个文件可被加载到存储器并执行:2.也可以执行于加载时,也就是在程序被加载器加载到存储器并执行:3.甚至可以执行于运 ...