题目链接:https://vjudge.net/problem/UVA-10601 题目大意: 见刘汝佳《算法竞赛入门经典——训练指南》\(P182\). 知识点: 组合计数、置换群 解题思路: 正方体的置换有\(4\)种: \(A\). 静止不动(\(1\) 个)。置换类型为 \((12,0,0, ...
分类:
其他好文 时间:
2018-02-25 17:28:35
阅读次数:
167
本文是刘汝佳《算法竞赛入门经典——训练指南》的读书笔记。 解题思路: 对于项链,它只支持旋转置换;而手镯支持旋转和翻转。下面由这两种置换来研究本题。 旋转 设顺时针旋转 \(i\) 颗珠子的间距,则珠子 \(0, i, 2i, ...\) 构成一个循环。 设每个循环有 \(t\) 颗珠子,则这 \( ...
分类:
其他好文 时间:
2018-02-18 14:29:12
阅读次数:
156
本篇是刘汝佳《算法竞赛入门经典——训练指南》的读书笔记。 知识点: 并查集 解题思路: 将每种元素看成一个点,而每种化合物看成是由两种元素(即两个点组成的一条边),以此建图。如果加入某一条边后会出现环(即\(k\)条边(化合物),\(k\)个点(元素)),那么我们就不将这条边加入图中,即\(ans+ ...
分类:
其他好文 时间:
2018-02-03 23:14:57
阅读次数:
216
学习了半平交面。 我这里写的是训练指南中的双端队列,每次判断是否删去更优然后更新。 看hzwer中有一处不太明白就是为何要将两段加入队列 后来对拍出错才知道是因为精度,当两线重合时他们叉积返回值是一个极小值 所以判断一下精度即可。 ...
分类:
其他好文 时间:
2018-01-29 21:26:07
阅读次数:
165
题链: https://vjudge.net/problem/UVA-10674 题解: 计算几何,求两个圆的公切线。 《算法竞赛入门经典——训练指南》P266,讲得很清楚的。 大致是分为6种情况——内含,重合,内切,相交,外切,相离这六个情况去处理, 找到共通点,便于代码编写。 代码: ...
分类:
其他好文 时间:
2018-01-07 14:15:18
阅读次数:
127
题链: http://poj.org/problem?id=1269 题解: 计算几何,直线交点 模板题,试了一下直线的向量参数方程求交点的方法。 (方法详见《算法竞赛入门经典——训练指南》P257) 代码: ...
分类:
其他好文 时间:
2018-01-07 14:12:48
阅读次数:
146
题目大意:见刘汝佳《算法竞赛入门经典——训练指南》P173 解题思路: 求出 0 到 m-1 这些数字中 0 出现的次数(此处要特判 m = 0 的情况),再求出 0 到 n 这些数字中 0 出现的次数,后者减去前者即是答案。 求 0 到某一个数字这些数字中 0 出现的次数: 从第二高位枚举每一位上 ...
分类:
其他好文 时间:
2017-10-12 10:30:09
阅读次数:
227
题目大意:见刘汝佳《算法竞赛入门经典——训练指南》P173 解题思路: 先求出对于每一个点,有多少个三角形包含它,把各个点得到的数值加起来的总和除以 C[n][3] 即可得出答案。对于每一个点,可以求出有多少个三角形不包含它,设为tmp,C[n-1][2] - tmp = 包含这个点的三角形数。那么 ...
分类:
其他好文 时间:
2017-10-11 10:36:08
阅读次数:
234
题目大意:见刘汝佳《算法竞赛入门经典——训练指南》P173 解题思路: 每一个合法的三角形的三个顶点都不在同一直线上,那么问题其实就是在求所有不全在同一直线上的三点的组合数。 我们可以利用容斥原理,先求出所有的三个顶点的组合数C[(n+1)*(m+1)][3]。全在同一直线上的三个网格顶点有三种:三 ...
分类:
其他好文 时间:
2017-10-10 20:23:38
阅读次数:
111