07 2018 档案
摘要:POJ3335 半平面交裸题 c++ //poj3335 include include include define rep(i,a,b) for(int i=a;i 0) hp[m 1] = hp[i]; } n = m; } bool halfplaneinsert() { for(int i
阅读全文
摘要:Gym101128J 二分判断点是否在凸包内,模板更新
阅读全文
摘要:概率期望学习笔记 POJ3869 题意:两个人转左轮手枪,朝自己打,枪里保证至少有一个空的,你的对手上一轮活下来了,现在到你了,问重新转左轮和直接打,哪个概率高。 做法:考虑00,10,两种串,即可计算不转时,下一个为空的概率。重新转的概率,就是这个手枪里所有空的位置比所有的口的个数。注意串是循环的
阅读全文
摘要:NOIP2013货车运输 题目描述 A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。 输入 第一行有两个用一个空格隔开的整数n,m,表示A国有n
阅读全文
摘要:牛客网暑期ACM多校训练营(第三场) A. PACM Team 01背包,输出方案,用bool存每种状态下用的哪一个物品,卡内存。官方题解上,说用char或者short就行了。还有一种做法是把用的物品压成一个int。 c++ include include define rep(i,a,b) for
阅读全文
摘要:二分学习笔记 前几天做的那个后缀数组,发现我的二分完全是凉的。主要是一些边界上的问题,于是在这里重新把常用的二分写一遍。下面这几个应该是没有问题的,如果有童鞋发现了不正确的地方,麻烦评论区指出。 c++ include const int N = 100010; using namespace st
阅读全文
摘要:2014西安网络赛 A. Post Robot 把每种单词都kmp跑一遍,顺序输出即可 B. Boring String Problem 后缀数组的帮我们排好序了,然后取后缀的前缀即可。严格第k小,就处理一下减去Height[i]即可去重,取前缀和,二分就可以找到严格第k小的串,然后问题就是,求一个
阅读全文
摘要:牛客网暑期ACM多校训练营(第一场) A. Monotonic Matrix 考虑0和1的分界线,1和2的分界线,发现问题可以转化为两条不互相穿过的路径的方案数(可重叠),题解的做法就是把一条路径斜着平移,然后就转化为不可重叠了。现在考虑,如何计算从(0,0)道(n,m)不相交不可重叠的方案数,一条
阅读全文
摘要:Codeforces Round 497 (Div. 1) A. Reorder the Array 先满足数值较小的位置,每次找恰好大于这个值的一个值即可。 B. Pave the Parallelepiped 比赛时,只推出了几种特殊情况的规律。下来学习了一下,将 A, B, C 的所有约数分类
阅读全文
摘要:网络流24题 说在前边 1. 一直没有完整的刷过这套题,打算最近一点点刷掉 2. 通过《最小割模型在信息学竞赛中的应用》及《浅析一类最小割问题》学习常规建图技巧 飞行员配对方案问题 二分图最大匹配 c++ include define rep(i,a,b) for(int i=a;i=b; i) d
阅读全文
摘要:线段树动态开点区间加区间求和 题目来源: 陕西师范大学第七届程序设计竞赛网络同步赛 H. 万恶的柯怡 思想: 保证叶子节点被完整的覆盖,需要开节点,就把左右儿子都开出来,其余和普通线段树一样。 tips: 用结构体内部函数,内存不足,(第一次遇见本地问题不严重)不明嚼栗??? 模板:
阅读全文
摘要:后缀数组学习笔记 说在前边 1. 学习了《后缀数组——处理字符串的有力工具》终于感觉入门了,就总结一下,主要是应用 2. 原理讲解学习了 [大佬Blog][1] 一些性质 height数组:定义height[i]=suffix(sa[i 1])和suffix(sa[i])的最长公共前缀,也就是排名相
阅读全文
摘要:D. Two Strings Swaps 容易发现,a[i], a[n i+1], b[i], b[n i+1] 可以互相交换,且不会受其他地方影响,关键在于对于这4个字符怎们计算最小的操作数,讨论到死。。。看了别人的代码,用不同的字符对数表示字符的组成,就比较容易判断了。还不太清楚是如何想到的。。
阅读全文
摘要:2015 German Collegiate Programming Contest (GCPC 15) B. Bounty Hunter II 给定一张DAG,求一种方案:用最少的路径将所有点覆盖。写了按长度贪心,按出度的贪心。。。果断挂了。下来搜了下题解,看到了二分图。就懂了。。。把点拆开,每个
阅读全文
摘要:Codeforces 1005D Polycarp and Div 3 dp[i]表示前i个数最多能分成多少块%3为0,nxt[x]表示x这个上一次出现的位置。 首先想到 dp[i]=max(dp[j])+1,(sum[i]sum[j])mod3==0,然后注意到他一定是从
阅读全文
摘要:SoundHound Inc. Programming Contest 2018 Masters Tournament [C. Ordinary Beauty] 打表找规律的。 1. n=1 时, ans=m 2. n=2 时, ans=2(m1)2m2
阅读全文
摘要:Wannafly挑战赛19 A. 队列Q 需要支持把一个元素移到队首,把一个元素移到队尾,移到队首就直接放到队首前面那个位置,原位置标为0,队尾同理。 C. 多彩的树 预处理每种颜色状态下的路径数,但是这次统计的包含这个状态的所有子状态。因此考虑容斥,当当前状态的颜色数为奇数时,加奇数,减偶数,当为
阅读全文
摘要:Codeforces Round 494 (Div. 3) A. Polycarp's Pockets E. Tree Constructing 先把一条直径构造出来,从左端开始早每个节点的分出来的树,通过节点的编号确定树高,k的确定分支的个数。构造完check一下是否合法,即是一棵树,且直径符合条
阅读全文
摘要:kmp,扩展 kmp 学习笔记 说再前边 字符串水平基本为0,学了第4遍KMP了,总是忘。。。网上资料很多,就不详细讲解了。抄的kuangbin神犇模板 kmp 一些知识 1. 循环节大小:n nxt[n] 模板[HDU2087] 下标从0开始 nxt[i] 为满足p[i z...i 1]=p[0.
阅读全文
摘要:hash学习笔记 1. 常用函数: hash[i]=∑len1j=is[j]Xji,X≥|字符集| 取多个模,对于一个子串s[i]s[i+1]..s[j]的hash=hash[i]hash[j+1]Xji+1,预处理$
阅读全文