上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 34 下一页
摘要: 两个木条装雨水能装多少。 两线段相交,且不遮盖的情况下才可能装到水。 求出交点,再取两线段的较高端点的较小值h,(h-交点的y)为三角形的高。 三角形的宽即为(h带入两条线段所在直线得到的横坐标的差值)。 三角形的面积即为雨水的量。 坑点:如果用G++提交,ans要加上eps才能过,c++提交则没问 阅读全文
posted @ 2016-07-31 00:23 水郁 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 1001 Another Meaning 题意:字符串A中包含的字符串B可以翻译或不翻译,总共有多少方案。 题解:动规,dp[i]表示A的第i位为止有多少方案。 转移方程: dp[i]=dp[i-1](不翻译) dp[i]+=dp[i-B.size()](翻译i结尾的子串B) 初始条件:dp[0]= 阅读全文
posted @ 2016-07-29 04:23 水郁 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 1.gcd 2.扩展gcd )extend great common divisor 3.求a关于m的乘法逆元 补充:求逆元还可以用$$ans = \frac{a}{b} \bmod m = (a \bmod (m\cdot b)) /b $$ 4.快速幂quick power 5.快速乘,直接乘会 阅读全文
posted @ 2016-07-29 02:18 水郁 阅读(6691) 评论(3) 推荐(3) 编辑
摘要: 有n个节点以1为根节点的树,给你树的边关系u-v,一开始每个节点都有一个苹果,接下来有两种操作,C x改变节点x的苹果状态,Q x查询x为根的树的所有苹果个数。 求出树的dfs序,st[i]保存i的进入时间戳,ed[i]保存i的退出时间戳,则st[i]到ed[i]就是子树节点的对应时间戳。 每个节点 阅读全文
posted @ 2016-07-26 01:32 水郁 阅读(316) 评论(0) 推荐(0) 编辑
摘要: x和y分开考虑,在(1,1)到(n,m)之间可以选择走i步。就需要选i步对应的行C(n-2,i)及i步对应的列C(m-2,i)。相乘起来。 假设$m\leq n$$$\sum_{i=1}^{m-2} C_{n-2}^i\cdot C_{m-2}^i=\sum_{i=1}^{m-2} C_{n-2}^ 阅读全文
posted @ 2016-07-24 22:47 水郁 阅读(910) 评论(0) 推荐(0) 编辑
摘要: 链接 某个数x属于[1,n],至少询问哪些数y“x是否是y的倍数”才能判断x。找出所有质因数和质因数的幂即可。 阅读全文
posted @ 2016-07-24 18:04 水郁 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 题目给定n和d,都是10的9次方以内,求1到n里面有几个数最大因数是d?1000000组数据。解:求出d的满足p[i]*d<n的最小质因数是第几个质数。即为答案。 阅读全文
posted @ 2016-07-24 01:38 水郁 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题目求n个互不相同的数,满足其和为其lcm。我们把lcm看成一个线段,分割成长度不同的n份。当然分法有很多,我们只需要构造一个好想好写的。先分成两个二分之一,取其中一个二分之一再分成1/3和2/3,接下来每次取1/3的分成1/3和2/3。11/2 1/21/2 2/6 1/61/2 2/6 2/18 阅读全文
posted @ 2016-07-23 16:20 水郁 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 题目每次把空列换到最后一列,把非空行换到最下一行。 阅读全文
posted @ 2016-07-23 13:51 水郁 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 题目链接 第一种解法是$O(n^3*p)$的:f[i][j][k]表示前i个人进j个人长度为k有几种方案(排列固定为123..n时)。$f[i][j][k]=f[i-1][j][k]+f[i-1][j-1][k-a[i]]$最外层枚举t表示被卡的那个人。i=t时不加上f[i-1][j-1][k-a[ 阅读全文
posted @ 2016-07-23 12:44 水郁 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 有理数的树,根节点是1/1,左儿子是1/2,右儿子是2/1...。求给定的分数是第几个,或者给定n求第n个分数。递归。给定的分数,每次递归,如果分子比较小,就用分母减去分子,并且这是左儿子。反之是右儿子,终点是分子分母相等。求第n个,每次递归,如果n是奇数(为右儿子),新的分子是分子加分母。终点是n 阅读全文
posted @ 2016-07-23 00:49 水郁 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 题目链接 正经解法: 给定n个点的坐标,找一个点,到其他点的曼哈顿距离之和最小。n可以是100000。大概要一个O(nlogn)的算法。算曼哈顿距离可以把x和y分开计算排好序后计算前缀和就可以在O(1)时间内判断一个点到其他点的距离。 缩小范围法: 另外一种做法,当时我就是这么想的,但是后来没敢交, 阅读全文
posted @ 2016-07-23 00:03 水郁 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 题目 给定每张海报的覆盖区间,按顺序覆盖后,最后有几张海报没有被其他海报完全覆盖。离散化处理完区间端点,排序后再给相差大于1的相邻端点之间再加一个点,再排序。线段树,tree[i]表示节点i对应区间是哪张海报,如果是-1代表对应区间不是一张海报(0或多张)。每贴一张海报,就用二分查找出覆盖的起点和终 阅读全文
posted @ 2016-07-22 01:56 水郁 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 题目0到n-1的花瓶,操作1在下标a开始插b朵花,输出始末下标。操作2清空[a,b]的花瓶,求清除的花的数量。线段树懒惰标记来更新区间。操作1,先查询0到a-1有num个空瓶子,然后用线段树的性质,或者二分找出第num+1个空瓶子的下标,和第num+b个空瓶子的下标。再区间更新为满。操作2,也相当于 阅读全文
posted @ 2016-07-22 00:22 水郁 阅读(339) 评论(0) 推荐(0) 编辑
摘要: STL头文件:#include<queue> 优先队列: 默认从大到小排列:priority_queue<node>q; 自带的比较函数 priority_queue<int, vector<int>, less<int> > q;//等价于默认,从大到小排 //greater<int> 从小到大排 阅读全文
posted @ 2016-07-21 13:28 水郁 阅读(13039) 评论(4) 推荐(2) 编辑
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 34 下一页
……