摘要: 题意 给你一个大小为n的数组,你可以删掉数组中的任意m个数,问你在删除m个数之后剩下的数组有多少种。(其中数组的每个数的大小<=k) 分析 显然需要动态规划,而k又很小,所以二维dp没问题。 设dp[i][j]为前 i 位数中已经删除了j个数的方案数。现在考虑往后转移,假设此时接上来的是数字c,那么 阅读全文
posted @ 2018-07-22 21:23 litos 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个矩阵,矩阵每行的和必须为2,且是一个主对称矩阵。问你大小为n的这样的合法矩阵有多少个。 分析 作者:美食不可负064链接:https://www.nowcoder.com/discuss/87226?type=101&order=0&pos=1&page=1来源:牛客网 题目给出的合法 阅读全文
posted @ 2018-07-22 20:29 litos 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一串数字以及q次查询,每次查询l,r],要求求出[1,l]和[r,n]的所有不相同的数字个数。 分析 先对数组进行倍增,变为两倍长,然后查询就变成一个完整的区间。离线处理,按r从小到大排序,数组从1到2n扫一遍,每次更新每种数最后出现的位置,用树状数组处理。把前一次出现位置在树状数组里面更 阅读全文
posted @ 2018-07-22 16:34 litos 阅读(139) 评论(0) 推荐(0) 编辑
摘要: e(ai,bi)为从起点ai到终点bi的方案数。以上矩阵行列式结果就是(a1,a2,...an) 到 (b1,b2,...bn) 的所有不相交路径的种数。 具体证明的话看wiki,比较长。。 这个定理在应用时要注意:起点和终点不能是重复的,而且要和原方案等价。 以下是几个相关题目: CodeForc 阅读全文
posted @ 2018-07-22 15:57 litos 阅读(976) 评论(0) 推荐(1) 编辑
摘要: 题意 分析 考虑01和12的分界线是(n, 0)到(0,m)的两条不相交(可重合)路径分界线以及分界线以上的点是一种,分界线下是一种平移其中一条变成(n-1, -1)到(-1,m-1); 此时起点为{(n,0),(n-1,-1)}。终点为{(0,m),(-1,m-1)}。套LGV即可,答案为C(n+ 阅读全文
posted @ 2018-07-22 15:56 litos 阅读(359) 评论(0) 推荐(0) 编辑
摘要: https://vjudge.net/problem/CodeForces-348D 题意 给一个m*n有障碍的图,求从左上角到右下角两条不相交路径的方案数。 分析 用LGV算法。从(1,1)-(n,m)的除了终点和起点不能相同的路径选取了(1,2),(2,1) 为起点,(n-1,m),(n,m-1 阅读全文
posted @ 2018-07-22 15:46 litos 阅读(338) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1584 题意 按照顺时针或逆时针方向输入一个n边形的顶点坐标集,先判断这个n边形是否为凸包。 再给定一个圆形(圆心坐标和半径),判断这个圆是否完全在n边形内部。 分析 1.判断给出了多边形是不是凸多边形。 2.判断圆包含在凸多边形中:一定要保证圆 阅读全文
posted @ 2018-07-22 14:53 litos 阅读(205) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1113 题意 求能包围城堡的最小周长,其中必须与城堡每个点相隔L。 分析 答案是凸包周长加上一个圆周长,即包围凸包的一个圆角多边形。 但那些圆角加起来为什么恰好是一个圆呢?每个圆角是以凸包对应的顶点为圆心,给定的L为半径,与相邻两条边的切点之间的 阅读全文
posted @ 2018-07-22 14:38 litos 阅读(152) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2187 题意 给n个坐标,求最远点对的距离平方值。 分析 模板题,旋转卡壳求求两点间距离平方的最大值。 阅读全文
posted @ 2018-07-22 14:08 litos 阅读(180) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1039 题意 有一宽度为1的折线管道,上面顶点为(xi,yi),所对应的下面顶点为(xi,yi-1),假设管道都是不透明的,不反射的,光线从左边入口处的(x1,y1),(x1,y1-1)之间射入,向四面八方传播,求解光线最远能传播到哪里(取x坐标 阅读全文
posted @ 2018-07-22 13:16 litos 阅读(379) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2031 题意 给出三维坐标系下的n个球体,求把它们联通的最小代价。 分析 最小生成树加上一点计算几何。建图,若两球体原本有接触,则边权为0;否则边权为它们球心的距离-两者半径之和。这样来跑Prim就ok了。注意精度。 阅读全文
posted @ 2018-07-22 12:51 litos 阅读(203) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3122 题意 主人过生日,m个人来庆生,有n块派,m+1个人(还有主人自己)分,问每个人分到的最大体积的派是多大,PS每 个人所分的派必须是在同一个派上切下来的。 分析 二分答案,每次统计当前体积下能分配的人数。 阅读全文
posted @ 2018-07-22 00:13 litos 阅读(145) 评论(0) 推荐(0) 编辑