摘要: 网络上常用名:zufe_zzt、14rj134、FightingHeart 国内二本大学软件工程专业学生,2014年入学。 ACM算法爱好者,曾经的魔术爱好者,京东实习生,准备参加微软苏州探星夏令营。 中国风音乐爱好者,偶像有李玉刚、许嵩。 联系我:774388357@qq.com 相关文章: 《2阅读全文
posted @ 2017-05-12 15:55 Fighting_Heart 阅读(57) 评论(0) 编辑
摘要: 数位$dp$。 $dp[i][j][k][s]$表示最高位有$i$位,并且最高位为数字$j$,这些数字的最小公倍数为$k$,被$2520$取余的结果为$s$的方案数。 被每一个数字都要整除,就是被这些数字的最小公倍数整除。$1$到$9$的随便选数字的最小公倍数只有$48$种。 $A\%B = A\%阅读全文
posted @ 2017-05-23 08:11 Fighting_Heart 阅读(7) 评论(0) 编辑
摘要: 分块,暴力。 将序列分成$sqrt(n)$块,每块$sqrt(n)$个元素,每块内排序。 每次操作要计算这个区间中比$a[p1]$大的有几个,小的有几个,比$a[p2]$大的有几个,小的有几个,端点的块内暴力找,中间的块内二分找。 交换完数字之后,可以直接重新$sort$排个序。 总体时间复杂度$O阅读全文
posted @ 2017-05-17 18:37 Fighting_Heart 阅读(8) 评论(0) 编辑
摘要: 枚举,容斥原理,范德蒙恒等式。 先预处理每个位置之前有多少个左括号,记为$L[i]$。 每个位置之后有多少个右括号,记为$R[i]$。 然后枚举子序列中第一个右括号的位置,计算这个括号的第一个右括号的方案数。 即在它左边取$k$个左括号,在右边取$k-1$个右括号都是合法的方案,这个东西可以用范德蒙阅读全文
posted @ 2017-05-17 18:33 Fighting_Heart 阅读(12) 评论(0) 编辑
摘要: 二分。 如果$n≤m$,显然只能$n$天。 如果$n>m$,至少可以$m$天,剩余还可以支撑多少天,可以二分计算得到,也可以推公式。二分计算的话可能爆$long$ $long$,上了个$Java$。阅读全文
posted @ 2017-05-17 18:27 Fighting_Heart 阅读(8) 评论(0) 编辑
摘要: 简单判断。 找第一类区间中$R$最大的,以及第二类区间中$L$最小的,判断距离。 找第二类区间中$R$最大的,以及第一类区间中$L$最小的,判断距离。 两种情况取个最大值即可。阅读全文
posted @ 2017-05-17 18:25 Fighting_Heart 阅读(7) 评论(0) 编辑
摘要: 简单判断。 分别判断每个单词是几面体,加起来就是答案。阅读全文
posted @ 2017-05-17 18:22 Fighting_Heart 阅读(1) 评论(0) 编辑
摘要: 区间$dp$。 倒着考虑这件事件,肯定有最后一个取走的数字,假设是$a[k]$,那么最后一次取走的价值肯定是$a[0]*a[k]*a[n+1]$,之前取走的价值和为$[1,k-1]$的价值加上$[k+1,n]$的价值。 设$dp[L][R]$表示取完区间$[L,R]$的最大价值,$dp[L][R] 阅读全文
posted @ 2017-05-15 08:23 Fighting_Heart 阅读(29) 评论(0) 编辑
摘要: 二分,验证。 二分一下答案,然后验证一下统计个数能否满足即可。阅读全文
posted @ 2017-05-15 08:19 Fighting_Heart 阅读(33) 评论(0) 编辑
摘要: $01$背包。 数据范围:物品个数小于等于$3000$,背包大小小于等于$1000000$。 $map<int,long long>dp$,用$map$去做$dp$,可以少遍历很多状态,可以$AC$。 还可以做一些优化,例如费用大,但是价值小的状态可以直接删除。阅读全文
posted @ 2017-05-15 08:18 Fighting_Heart 阅读(61) 评论(0) 编辑
摘要: 模拟。 先判断三边形和四边形的个数。 然后判断$5$个三角形是否都是等腰直角三角形。 然后判断$5$个等腰直角三角形比例是否符合要求。 然后寻找正方形。判断比例是否符合要求。 最后判断四边形是否符合要求。阅读全文
posted @ 2017-05-14 16:28 Fighting_Heart 阅读(10) 评论(0) 编辑
摘要: 模拟。 有$a$先标$a$,其次是$o$和$e$,$o$和$e$在韵母中不会同时存在。最后是$u$和$i$,这两个字母在韵母中可能同时存在,标在后面的那个。输出那些字符的话直接输出就可以了。 举几个例子: 3 shui2 Case 1: shuí liu2 Case 2: liú lve4 Case阅读全文
posted @ 2017-05-14 09:21 Fighting_Heart 阅读(16) 评论(0) 编辑
摘要: 最大公约数。 计算$x$与$i$的最小公倍数,就是这些人至少需要喝几杯,最小公倍数除以$x$就是要买几瓶。阅读全文
posted @ 2017-05-14 08:37 Fighting_Heart 阅读(22) 评论(0) 编辑
摘要: 暴力搜索。 主要目的就是找到任意一条路径,使得路径长度大于等于$k+1$,写个爆搜发现很快能出解。判断某点是否可走,需要看四周有没有已经走过的点的$dis$比这个点的$dis$小$2$或者$2$以上。阅读全文
posted @ 2017-05-13 22:28 Fighting_Heart 阅读(68) 评论(0) 编辑
摘要: 线段树,暴力。 先处理出每个点直接能感染到的最左边的和最右边的。 之后每次扩展,看向左能到达的那些点中,最左以及最右能到哪些点,更新。 看向右能到达的那些点中,最左以及最右能到哪些点,更新。 最左最右能到哪些点,可以用线段树计算区间最小值最大值。 如果某次无法更新,那么结束。阅读全文
posted @ 2017-05-13 20:45 Fighting_Heart 阅读(40) 评论(0) 编辑
摘要: 字典树,$dp$。 记录$dp[i]$为以$i$为结尾获得的最大价值。枚举结尾一段是哪个单词,更新最大值。可以将字典中单词倒着建一棵字典树。 这题数据有点不严谨。 下面这组数据答案应该是负的。 3 a 0.1 aa 0.1 aaa 0.1 1 aaa 下面这组数据没通过的代码在$OJ$上也可以$AC阅读全文
posted @ 2017-05-13 17:33 Fighting_Heart 阅读(29) 评论(0) 编辑
摘要: 二分,最小生成树。 二分一下$k$,然后每次算最小生成树验证即可,事实证明,$cmp$函数,参数用引用还是能提高效率的,不引用一直$TLE$,时限有点卡常。 然后错误的代码好像$AC$了啊,$L$和$R$直接赋值成$mid$,有几个点一直$WA$,加一减一反而能过。阅读全文
posted @ 2017-05-13 13:18 Fighting_Heart 阅读(52) 评论(0) 编辑
摘要: 差分约束系统,$spfa$。 首先判断无解,若某个约束的$t$大于区间长度,则一定无解。 否则一定有解,可以得到一系列的不等式: 最终区间和大于等于目前的区间和:$S[R]-S[L-1]≥val$, 每一个位置的值小于等于$1$:$S[R]-S[R-1]≤1$, 每一个约束条件:$S[R]-S[L-阅读全文
posted @ 2017-05-13 10:19 Fighting_Heart 阅读(28) 评论(0) 编辑
摘要: 直觉,构造。 画了几个样例,发现可以随便构造......先构造根节点的完全图,每个点置为不同的颜色,然后构造儿子节点的完全图......阅读全文
posted @ 2017-05-12 12:23 Fighting_Heart 阅读(33) 评论(0) 编辑
摘要: 规律。 手动模拟几组数据,可以发现规律,总的来说就是把$b$和$a$分离,$b$在前面,$a$在后面,且每次将一个$a$往后调整$1$个位置,$b$会多一个,那么从后往前算一遍就可以得到答案了。阅读全文
posted @ 2017-05-12 12:20 Fighting_Heart 阅读(11) 评论(0) 编辑
摘要: 直觉。 先走$1$走到$n$,然后从$n$走到$2$,然后从$2$走到$n-1$,然后从$n-1$走到$3$。一次花费为$0$,一次花费为$1$。阅读全文
posted @ 2017-05-12 12:18 Fighting_Heart 阅读(12) 评论(0) 编辑