其他分享
首页 > 其他分享> > CodeChef题目选讲

CodeChef题目选讲

作者:互联网

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

 

标签:题目,选讲,容斥,组解,共线,格点,随机化,障碍,CodeChef
来源: https://www.cnblogs.com/Miracevin/p/10458604.html