JinxiSui
码龄7年
关注
提问 私信
  • 博客:51,308
    社区:3
    51,311
    总访问量
  • 144
    原创
  • 1,204,528
    排名
  • 24
    粉丝
  • 0
    铁粉

个人简介:退役ACMer

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2017-10-20
博客简介:

JinxiSui的博客

博客描述:
退役ACMer
查看详细资料
个人成就
  • 获得24次点赞
  • 内容获得8次评论
  • 获得41次收藏
  • 代码片获得186次分享
创作历程
  • 127篇
    2018年
  • 17篇
    2017年
成就勋章
TA的专栏
  • 总结
  • 知识点
    1篇
  • 模拟
    20篇
  • 贪心
    6篇
  • 思路
    12篇
  • 暴力
    11篇
  • 博弈
    1篇
  • STL
    3篇
  • 杂
    11篇
  • DFS\BFS
    17篇
  • IDA*
    2篇
  • 数据结构
    23篇
  • 背包
    1篇
  • DP
    3篇
  • 背包DP
    1篇
  • LIS
    3篇
  • 数学
    6篇
  • 快速幂
    2篇
  • 概率\期望
    1篇
  • 递推\规律
    4篇
  • exgcd
    1篇
  • 欧拉回路
    2篇
  • 拓扑排序
    2篇
  • 最短路
    5篇
  • 最小生成树
    3篇
  • 并查集
    4篇
  • KMP
    1篇
  • Manacher
    1篇
  • 二分
    3篇
  • 矩阵快速幂
    2篇
  • RMQ
    1篇
  • 欧拉函数
    1篇
  • 线段树
    1篇
  • 网络流
    3篇
  • 图论
    1篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 课程
  • 收藏
搜TA的内容
搜索 取消

The North American Invitational Programming Contest 2016 - Tourists ( LCA )

题意给出一棵n个点,n-1条边的树。现在计算所有标号为x到y的距离之和(满足y>x且y是x的倍数)思路关于树上任意两点距离之和,一开始想到树形dp,可树形dp,是对每条边,求所有可能的路径经过此边的次数,是求出边两端的点数,这条边被经过的次数就是两端点数的乘积。但是该题对计算的距离加了限制(y>x且y是x的倍数),显然不能用树形dp来做了。接下来想到图论部分的算法,想处理出...
原创
发布博客 2018.10.02 ·
365 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

HDU 6007 - Mr. Panda and Crystal ( 最短路+完全背包 )

题意岛上有n种宝石,有的宝石可以用魔力值合成,有的宝石不可以用魔力值合成。还有k种配方,即由几种宝石合成另一种。每一种宝石都有一个售价。现在,Panda有m的魔力值,问Panda得到的宝石最多能卖出多少钱。思路可以通过配方用消耗魔力值低的宝石去合成消耗魔力值低或者不能够用魔力值合成但是售价高的宝石,只要能够知道每个宝石最少需要多少魔力值合成,就可以将模型转化为物品重量为最低魔力值,价值为宝石...
原创
发布博客 2018.10.02 ·
474 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

HDU 6237 - A Simple Stone Game ( 分解质因数 )

题意有n堆石头, 每堆的初始数量为a1,a2,…..,an Bob每次可以从一堆里拿一块石头放到另一堆中, 问最少操作多少次能够使得每堆石头的数量能被一个数x(x>1)整除, 在这里, 我们默认0能被任何数字整除思路先分解质因数, x的取值只可能是石头总和sum的质因数 然后对每个质因数进行操作, 即使每堆石头变成0或者质因数的k(k>=1)倍 先对每堆石头进行处理,...
原创
发布博客 2018.09.12 ·
347 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Gym 101775A - Chat Group ( 组合数 , 逆元 )

题意n个人,大于等于k个人可以建一个群,问能建成多少个不同的群。 结果对1000000007取模思路公式很简单 ans=C(n,k)+C(n,k+1)+......+C(n,n)ans=C(n,k)+C(n,k+1)+......+C(n,n)ans = C(n,k) + C(n,k+1) + ...... + C(n,n) 由于1 ≤ N ≤ 1091 ≤ N ≤ 1091 ≤...
原创
发布博客 2018.08.31 ·
473 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

HDU 2255 - 奔小康赚大钱 ( 二分图最大权匹配 , KM算法 )

题意有n户人家和n间房。现在给出每户人家对每一间房的报价,求怎样分配房子才能使政府收入最大,输出最大收入。思路带权二分图的最优匹配问题,可由KM算法解决 km算法入门 【原创】我的KM算法详解 顶标内容讲的很好:KM算法 松弛度内容讲的比较好:二分图的最佳完美匹配——KM算法 匈牙利算法和FF算法结合得到KM算法讲的很详细:二分图匹配之最佳匹配——K...
原创
发布博客 2018.08.23 ·
279 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

HDU 4185 - Oil Skimming ( 二分图匹配, 匈牙利算法 )

题意给出一个 n * n的油田,现在要撇去一些油,但是每次只能撇掉1 * 2或者2 *1的油,问最多能撇多少次。思路匹配 建图:给每个“#”标序号后,dfs找每个油田位置的上下左右是否有油田,若有则建边。跑匈牙利匹配即可。AC代码#include <iostream>#include <cstdio>#include <cstri...
原创
发布博客 2018.08.22 ·
324 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HDU 1281 - 棋盘游戏 ( 二分图匹配 , 匈牙利算法 )

题意给出一个N*M (1 < N,M <= 100) 的棋盘,规定只有某些格子可以放“車”。要求放置的“車”不能互相攻击(不在同一行同一列) 在保证尽量多的“車”的前提下,棋盘里有些格子是可以避开的,也就是说,不在这些格子上放车,也可以保证尽量多的“車”被放下。但是某些格子若不放子,就无法保证放尽量多的“車”,这样的格子被称做重要点。求有多少个这样的重要点。 思路匈牙利...
原创
发布博客 2018.08.22 ·
329 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HDU 6425 - Rikka with Badminton ( 组合数学,思维 )

题意有n个学生打羽毛球,其中有a个人没拍没球,b个人只有拍,c个人只有球,d个人有拍有球。 现在要求选出几个人组织一场比赛,一共有2n2n2^n种情况,组织成功的条件是至少有2个拍1个球。求有多少种情况无法组织成功。思路一开始想组织成功的,但是发现情况太多太复杂,只要有2拍1球就可以,那么可能会有2排1球,2排2球,3排1球,3排2球……不好列举。 反过来想无法组织成功的情况并不多...
原创
发布博客 2018.08.21 ·
303 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

HDU 5444 - Elven Postman ( 二叉搜索树 )

题意一些精灵住在一棵二叉搜索树上(???),给出一个序列表示这棵二叉搜索树(输入n个数的第一个数为根节点,第二个数和这个根节点比较大小,假如大于当前根节点的值,就往右边的节点走,小于往左边的节点走),现在邮递员要给他们送信,求送信每次走的方向。思路题目太长了 其实看懂了题意就能知道是个裸的二叉搜索树模板AC代码#include <iostream>#inc...
原创
发布博客 2018.08.17 ·
328 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SGU 180 - Inversions ( 归并排序 / 树状数组 )

题意给出一个数组 求这个数组的逆序数思路分治(nlogn):将问题划分为规模更小的子问题,递归地解决划分后的子问题,再将结果合并。 考虑将数组a划分为两半得到b和c,于是a中的逆序对必然有三种情况: ①i,j都属于数列B的逆序对(i,j); ②i,j都属于数列C的逆序对(i,j); ②i属于B而j属于C的逆序对(i,j) .由于每次递归数列长度都会减半,所以递归深度为O...
原创
发布博客 2018.08.14 ·
225 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HDU 1285 - 确定比赛名次 ( 拓扑排序 )

题意给出N个队伍标号为1-N 现给出一些队伍的胜负关系,比如 p1, p2表示 p1战胜了p2 求一个排名,要求输出时编号小的队伍在前。 数据保证不会有环思路拓扑排序:每次找入度==0的点, 将这个点和从它发射的边删掉。在常规的拓扑排序中,若找不到这样的点说明有环(故拓扑排序可以判断图中是否成环)。但这道题已经确保不会出现这样的情况。AC代码(直接求)#include...
原创
发布博客 2018.08.14 ·
315 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HDU 1251 - 统计难题 ( Tire树 )

题意给出一些单词,再给出一些前缀,求有多少个单词包含这个前缀。思路用map统计水过。赛后意外的发现自己的代码跑了900+ms,为什么这么多人才跑了60+ms (滑稽) 更好的算法是用Tire树(字典树)操作,查询前缀出现的次数,就开一个sum[],表示位置i被访问过的次数浅谈Trie树(字典树)AC代码(Tire,60+ms)#include <iostream...
原创
发布博客 2018.08.14 ·
284 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HDU 1166 - 敌兵布阵 ( 线段树 )

题意给出n个敌兵阵营的人数,给出一些操作命令: (1) Add i j , 第i个营地增加j个人 (2)Sub i j , 第i个营地减少j个人(j不超过30); (3)Query i j , 询问第i到第j个营地的总人数; (4)End 表示结束思路线段树模板题 /*单点覆盖,区间查询*/下面记录一下几个好用的线段树模板:/*单点覆盖,区间查询*/#incl...
原创
发布博客 2018.08.08 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UVA 10003 - Cutting Sticks ( 区间dp )

题意一个长为L ( L < 1000 ) 的木块, 有n个切割点 分别为c1, c2, c3, ……, cn (0 < ci < L) 每次切割的花费是被切木块的长度 求切割完木块的最小花费思路区间DP石子归并模板 分析 : 比赛的时候根本没多想,觉得切木块就是哈夫曼树,各种wr。 第一步和哈夫曼树那个题是一样的,就是要把“切割”看成“合并”倒着往回推,但是,...
原创
发布博客 2018.08.06 ·
395 阅读 ·
0 点赞 ·
2 评论 ·
1 收藏

HDU 5968 - 异或密码 ( 前缀异或 )

题意给出一个长为n的数组a,给出m个质询,每个质询给出一个数字,需要找到序列a中所有连续子序列的异或结果中与质询数字差的绝对值最小的一个,输出最长的这种连续子序列的长度思路异或前缀和+暴力 我们知道一个数异或自己即抵消异或效果 比如a^b^a = b , a^a^b = b 那么我们存下前缀和之后,想要求i~j的异或结果即pre[j]^pre[i-1]注意: ‘^’的优先...
原创
发布博客 2018.08.05 ·
404 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

CodeForces 371C - Hamburgers ( 二分搜索 )

题意做汉堡 先给出一个字符串表示每个汉堡的做法(B:bread, S:sausage, C:cheese) 给出三个值表示BSC分别有多少存货 给出三个值表示商店中BSC分别多少钱一份 给出一个值表示店主现在有多少卢布 问最多能做多少汉堡思路二分搜索 但是中间有很多溢出没处理好 用的unsigned long long才水过AC代码#include <i...
原创
发布博客 2018.07.27 ·
428 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

POJ 2456 - Aggressive cows ( 二分:最大化最小值 )

题意n间屋,m头牛,使得牛跟牛之间的距离最远,防止牛打架思路类似的最大化最小值或者最小化最大值的问题,通常用二分搜索法就可以很好地解决。 solve(d): 可以安排牛的位置使得最近的两头牛距离不小于d 那么问题就变成了求满足solve(d)的最大的d 另外, 最近的间距不小于d也可以说是所有牛的间距都不小于d solve(d): 可以安排牛的位置使得任意的牛的间距都不小于d...
原创
发布博客 2018.07.27 ·
248 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

POJ 2250 - Compromise ( 最长公共子序列的DFS输出 )

题意(多组输入)给出两段文字, 输出最长公共子序列思路DFS回溯输出最长公共子序列AC代码#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <set&g...
原创
发布博客 2018.07.25 ·
295 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UVA 10533 - Digit Primes ( 素数筛, 埃式筛法 )

题意求a~b内有多少个数满足本身是素数且各位相加后的结果也是素数思路1 不 是 素 数因为这个debug了两个小时WA了四次也很可以 用普通素数筛就能做, 优化一下用Eratosthenes筛法也行 先说用普通素数筛: 只需要先筛选出1-54内的素数( 最大的各位相加是999999这个数 最大54 ) 然后对1~1000000所有数字求出各位相加的结果, 如果各位相加得到...
原创
发布博客 2018.07.25 ·
350 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

POJ 3090 - Visible Lattice Points ( 欧拉函数 )

题意求从(0,0)出发有多少个点与其连线(不在同一直线上)有多少条思路看左上部分和右下部分条数相同, 中间有一条k=1/2的连线 推出 n = 2 , ans = 2*2+1 = 5 n = 3 , ans = 2*4+1 = 9 n = 3 , ans = 2*6+1 = 13 n = 3 , ans = 2*10+1 = 21其中的2, 4, 6, 10, … 正好是...
原创
发布博客 2018.07.25 ·
268 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多