Lonvon_
码龄9年
关注
提问 私信
  • 博客:13,139
    13,139
    总访问量
  • 36
    原创
  • 1,243,374
    排名
  • 0
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2015-08-21
博客简介:

Lonvon_的博客

查看详细资料
个人成就
  • 获得3次点赞
  • 内容获得0次评论
  • 获得4次收藏
创作历程
  • 14篇
    2018年
  • 1篇
    2017年
  • 21篇
    2016年
成就勋章
TA的专栏
  • LeetCode
    18篇
  • POJ
    5篇
  • Codeforces
    3篇
  • ------基础------
    1篇
  • 三分
    1篇
  • ------动态规划------
  • ------图论------
    2篇
  • 树链剖分
    1篇
  • LCT
    1篇
  • ------ 数学 ------
    1篇
  • FFT
    2篇
  • 欧拉函数
    1篇
  • ------数据结构------
  • ------计算几何------
  • ------字符串------
  • Notes
    2篇
创作活动更多

仓颉编程语言体验有奖征文

仓颉编程语言官网已上线,提供版本下载、在线运行、文档体验等功能。为鼓励更多开发者探索仓颉编程语言,现诚邀各位开发者通过官网在线体验/下载使用,参与仓颉体验有奖征文活动。

368人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

UVA 10820 Send a Table

所有可能的数对数量为N×N 所求的(x,y)一定满足x,y互素,否则设公约数为t,(x,y)可由(x/t,y/t)得到 若(x,y)互素,那么(y,x)也互素 若能求出满足1<=x<=N,1<=y<=x的互素的(x,y),那么经过对称即可得到所有的数对(可从N×N的二维图上来理解)求phi值时注意避免溢出#include <bits/stdc++
原创
发布博客 2018.05.20 ·
187 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

UVALive 5009 Error Curves

F(x)是一个凸函数(convex function) 用三分(ternary search)可求最小值点另外,EPS设置成>1e-9会WA#include <bits/stdc++.h>using namespace std;const int MAX_N = 10000 + 10;const double EPS = 1e-9;int n;int...
原创
发布博客 2018.05.19 ·
210 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Waiting List

SPOJ BIGSEQ 数位dp?
原创
发布博客 2018.05.17 ·
325 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

HDU 1402. A * B Problem Plus(FFT)

递归版本的FFT还是好写… 输出结果时,注意特殊情况0*0=0#include <iostream>#include <cstdio>#include <complex>#include <cstring>#include <cmath>using namespace std;typedef complex<d...
原创
发布博客 2018.04.02 ·
234 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Codeforces EC #36 D. Almost Acyclic Graph

题目大意:给一个有向图,无多重边和自环,问能否至多去掉一条边,使这个图变为无环图。 先拓扑排序得到所有环上的结点。在这些结点中,选择入度为1的结点,尝试去掉指向它的边,看是否还有环;若无环,则符合题目要求。#include <bits/stdc++.h>using namespace std;const int MAX_N = 500 + 10;int n, m;ve...
原创
发布博客 2018.03.09 ·
196 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Codeforces EC #36 C. Permute Digits

看上去不难,但一直在WA… 开始的算法是:从左往右构造结果res[i],在a没被选择的数字中,选择<=b[i]的最大值,如果选择的值< b[i],之后每一步都选择剩余数字中最大的。 问题在于:有可能选择了某个数字,导致之后不可能再构造出<=b的结果123456789123456789276193619183618162Output276193619�88755...
原创
发布博客 2018.03.09 ·
193 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CodeForces Round #456(div 2) D-Fishes

这是个数学题a… 所有的r∗rr∗rr*r的scoop的数目为(n−r+1)∗(m−r+1)(n−r+1)∗(m−r+1)(n-r+1)*(m-r+1) 其中包含坐标(x,y)(x,y)(x,y)的scoop的数目为(坐标index从1开始)f(x,y)=(min(n+1,x+r)−max(x,r))∗(min(m+1,y+r)−max(y,r))f(x,y)=(min(n+1,x+r)−ma...
原创
发布博客 2018.03.08 ·
225 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

搜索

熟练一下搜索问题… POJ 3669 两种思路,一种是比较直接的想法,先把所有的袭击事件按时间排序,在BFS的过程中处理袭击事件;另一种是先预处理,再BFS。 写第一种时遇到的问题:在BFS中循环的结束条件是que.empty() || k >= M,若在队列为空时结束,则可能还有后续的袭击会摧毁之前能够到达的地方,因此最后需要处理完所有的袭击。排序后BFS#include &...
原创
发布博客 2018.03.08 ·
138 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

POJ 3237 树链剖分+线段树维护

和QTREE1类似,增加了NEGATE操作。 记几个踩到的坑: 1. 维护数据量为n(假设n为2的幂)的线段树的大小为2*n-1,此题线段树的数组大小应为2^15-1,在写的时候写成1<<15-1,C++的<<的优先级小于-,实际开出来是2^14。 2. 这样写之后没有数组越界的异常,而是不断的WA。全局变量的内存分配在堆区,虽然访问的范围超过了数组的大小,但是在...
原创
发布博客 2018.02.28 ·
290 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Link Cut Tree

LCT用来维护有根树的森林。对任意结点v,Preferred Child(PC)的定义为:如果v没被访问过或者刚刚访问到v,则PC[v] = null;如果刚刚访问到v的孩子结点u所在的子树,则PC[v] = u。v到其preferred child(如果有)的边为preferred edge,preferred edge连接起来形成preferred path。需要表示的树(也就是直观上的树)称...
原创
发布博客 2018.02.25 ·
652 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

BBST

最近学习了一下各种BBST,简单总结一下。Splay Tree:区间操作强无敌...对[l,r)区间的操作,把l-1结点splay到树根,r结点splay到根的右结点,则根的右结点的左子树就是区间[l,r),然后对这棵子树进行操作。一个splay操作的均摊复杂度为O(logn)。常见操作:[l,r)区间每个数加a,每个结点维护一个加的数值的lazy_tag[l,r)区间翻转,每个结点维
原创
发布博客 2018.01.16 ·
2226 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

POJ 3468 区间更新的线段树、树状数组

题目:给一个数组A1,A2,…An,两个操作:对[a,b]区间内的每个数加C,查询[a,b]区间的和。 也就是实现能够高效区间更新和求和的线段树和树状数组。 线段树的每个结点维护两个值,一个是对区间内所有数都加上的值t,这样在区间更新时不必再向下更新。另一个是除t外区间内所有数的和s。若结点k的对应区间为[l,r),则区间内所有数的和为s+t*(r-l)。 能够实现高效区间更新的树状数组则比较
原创
发布博客 2018.01.09 ·
330 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

POJ 2104 分桶法/线段树

题目:给一个长度为n的数组a1,a2...an,1用平方分割来做,取块大小b=sqrt(n)把整个数组分块,每个块进行排序使块内有序。排序的复杂度为O((n/b)*(n/b)\*logb)=O(nlogn)然后求[i,j]区间第k大的数,[i,j]区间的首尾可能是部分块,是无序的,中间是有序的块。想着如何从分割后的块中高效找出第k大的数,对有序的块维护一个数对[l,r)表示第k大的数在本块
原创
发布博客 2018.01.09 ·
305 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

POJ 2991 线段树+向量旋转

向量(x,y)(x,y)逆时针旋转θ\theta:x′=x∗cosθ−y∗sinθx^{'}=x*cos\theta-y*sin\thetay′=x∗sinθ+y∗cosθy^{'}=x*sin\theta+y*cos\theta相对旋转量 语言的坑:printf("%.2lf %.2lf", vx[0], vy[0])导致超时的悲剧#include #include #include
原创
发布博客 2018.01.07 ·
283 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

刷题总结

POJ 3253 Huffman树 错误:结果超出了int的范围,应该用long long;而且printf("%lld",ans),注意是lld POJ 2686 Traveling by Stagecoach(DAG,状压dp) 题目大意:m个结点的无向图,每个结点表示一个城市,n张票,经过一条边消耗一张票,每张票有一个数值,经过一条边的时间为边的长度/票的数值。给定起点a,问终点b是否...
原创
发布博客 2017.12.30 ·
279 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

8.20

题目:在一个无向图G=(V,E)G=(V,E)中,我们称D⊆VD \subseteq V为一个占优集,是指每个v∈Vv \in V都属于D或与D中一个节点为邻。在占优集问题中,输入为一个图和预算b,目标是求图中的一个规模不超过b的控制集——如果该集存在,证明该问题是NP-完全的。解:通过将顶点覆盖问题规约到此问题,来证明该问题是NP-完全的。对于图G=(V,E)G=(V,E),做处理转化为图G′=(
原创
发布博客 2016.11.25 ·
330 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

8.20

题目:在一个无向图G=(V,E)G=(V,E)中,我们称D⊆VD \subseteq V为一个占优集,是指每个v∈Vv \in V都属于D或与D中一个节点为邻。在占优集问题中,输入为一个图和预算b,目标是求图中的一个规模不超过b的控制集——如果该集存在,证明该问题是NP-完全的。解:通过将顶点覆盖问题规约到此问题,来证明该问题是NP-完全的。对于图G=(V,E)G=(V,E),做处理转化为图G′=(
原创
发布博客 2016.11.25 ·
366 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 122. Best Time to Buy and Sell Stock II

题目Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy one a
原创
发布博客 2016.11.22 ·
267 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 121. Best Time to Buy and Sell Stock

题目 只买一次,找到最大收益Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (ie, buy one and sell one share of th
原创
发布博客 2016.11.22 ·
346 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 435. Non-overlapping Intervals

题目:给定一个区间数组,求可以去掉的使得剩余区间不重叠的最少区间数目。Given a collection of intervals, find the minimum number of intervals you need to remove to make the rest of the intervals non-overlapping.Note: You may assume the i
原创
发布博客 2016.11.17 ·
452 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多