ps:dp[ i ][ j ][ k ]:i 个数用掉了 j 行 k 列。有三种状态:第 i + 1 个数要在原来的基础上用掉新的 1 行,或者用掉新的 1 列, 或者填在原来行列的交点上(既不用掉新的一行也不用掉新的一列),还是太单纯了,竟然在找规律。。。。 ...
分类:
其他好文 时间:
2018-08-21 13:10:08
阅读次数:
161
Description 平面上有n条直线,且无三线共点,问这些直线能有多少种不同的交点数。 <! more Analysis 判断各个交点数的存在性,需要采用存在性动规的状态转移。 i条直线的交点数要由j条直线转移(j int n,exist[21][401]; int main(){ freope ...
分类:
其他好文 时间:
2018-08-17 12:11:02
阅读次数:
151
编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表: 在节点 c1 开始相交。 注意: 如果两个链表没有交点,返回 null. 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。 ...
分类:
其他好文 时间:
2018-08-17 00:44:23
阅读次数:
159
题目描述 a180285非常喜欢滑雪。他来到一座雪山,这里分布着 MM 条供滑行的轨道和 NN 个轨道之间的交点(同时也是景点),而且每个景点都有一编号 ii ( 1 \le i \le N1≤i≤N )和一高度 H_iHi? 。a180285能从景点 ii 滑到景点 jj 当且仅当存在一条 ii ...
分类:
其他好文 时间:
2018-08-13 18:03:06
阅读次数:
166
A. 占领地区 离线处理。把主对角线与交矩形上方的那条边所在的直线的交点记录下来。这样对于每条副对角线,查询与它相交的主对角线这个问题就变成了一个区间求和问题。前缀和处理一下就可以了。应把副对角线分成两类讨论,因为可以发现在左上和右下的两条对角线“映射”到矩形上方的那条边所在的直线时,可能会重叠。做 ...
分类:
其他好文 时间:
2018-08-07 01:29:30
阅读次数:
161
这道题做法好像肥肠多。。其实思路也比较简单: 首先通过一个点有两条斜率分别为1和-1的线段,显然同种斜率的线段不会相交我们可以直接算 显然每个点最多被两条线段经过,如果被经过两次的话把重复的减去就好了。 然后假如把其中一种斜率线段排序的话,对于另一种线段,每次会和一段连续的线段有交点 我们二分他会和 ...
分类:
其他好文 时间:
2018-08-05 15:54:41
阅读次数:
137
如何判断两个链表相交及找到第一个相交点 参考原文地址:https://www.cnblogs.com/BeyondAnyTime/archive/2012/07/06/2580026.html 1.问题分析 看看两个链表相交到底是怎么回事吧,有这样的的几个事实:(假设链表中不存在环) (1)一旦两个 ...
分类:
其他好文 时间:
2018-08-05 13:13:29
阅读次数:
144
把每个人的监视范围看成点,相邻的两个监视范围连边,那么跑一遍最短路就可以了(事实上边权都为1可以直接bfs)。显然最优的话不会有某个时刻同时被多人监视,要跨过去的话完全可以经过分界线而不是交点。 现在问题是怎么求出哪些监视范围相邻。考虑对于某个人的监视范围求出所有与它相邻的。两个监视范围的公共边是这 ...
分类:
其他好文 时间:
2018-08-04 13:03:22
阅读次数:
157
#include using namespace std; /* * 即s=a*b 可以想象s=1和s=2的情况是无解的 * 显然当s不是素数的时候一定有解 s=a*b a=1 * ax+y=a与x轴交点为(1,0) 过该点垂直ax+y=a的直线为x-ay=1 * x-ay=1和ax+y=a+n解得... ...
分类:
其他好文 时间:
2018-08-03 14:29:38
阅读次数:
113
附上题的地址 https://vjudge.net/problem/HDU-1086# 线段封装 ...
分类:
其他好文 时间:
2018-08-03 14:23:27
阅读次数:
125