摘要:
把做过的题争取都看一遍,弄明白出现过的所有问题,省一不是问题! 具体一点的话,那就把黄题及以上写一下思路吧。(按题号) 2019年11月6日 Y P1017进制转换 将一个整数装变成某负进制 类比正进制的转换,手写一下负数的模运算(整数模运算后判负加至非负) Y P1020导弹拦截 用单调队列求最长 阅读全文
摘要:
诡异而冗长的名字下一般没什么难题 坐标的本质是与原点的相对位置关系,所以改变全部坐标只要改变坐标系就好了。 阅读全文
摘要:
a0+a1*x+a2*x^2+a3*x^3...+an*x^n =a0+x*(a1+x*(a2+x*(a2+...+x*(an+0) ) ) ) 正好可以递归计算。 一个小技巧是过程在一个大质数的同余系中计算,没有降低太多正确性,却避免了高精度。(重要) 阅读全文
摘要:
模板 注意exgcd中把y当作x丢下去后y = x',x = y',所以y = x'-a/b*y' = y-a/b*x ! 阅读全文
摘要:
求树上距离为二的点对权积之最值、和。 70pts:枚举每个点,bfs两层求和求最值和和。 100pts:枚举每个点,先统计所有可达节点的权值和,再枚举可达点求权值和 第二种做法较第一种的优化: a1*a2+a1*a3+a1*a4+..a2*a1+a2*a3+... =>a1*(sum-a1)+a2* 阅读全文
摘要:
如题,缩完点后数一下有几个入度为1的scc,+1再/2即可。 教训:加一个cntf处理重边!否则重边会被认为是同一条。 阅读全文
摘要:
以spfa为框架,将入队的条件改为当前节点有更优解即可。f[i]表示到i点的最小花费。 有的样例真的是水到一定程度了啊,非常严重的错误都可以跑过。。。 惨痛教训:无权图微改add_edge的同时也要改一下Edge结构体,否则照我的写法就会把ne赋给wi! 不过这道题还是挺简单的 阅读全文
摘要:
给出一个长为 n 的数列,以及 n 个操作,操作涉及区间加法,询问区间内小于某个值 c 的前驱(比其小的最大元素)。 先在每个块内排序,然后残块暴力,整块lower_bound。 指针形式运用lower_bound一定要小心啊啊啊 (调了1h+) 阅读全文
摘要:
hzwer tql! 渐渐找到了分块的套路。 给出一个长为 n 的数列,以及 n 个操作,操作涉及区间加法,询问区间内小于某个值 c*c 的元素个数。 残块先在原数组上暴力,然后拿原数组更新块数组(效率高于结构体存id!),整块就标记。 code: 阅读全文
摘要:
终于知道分块怎么写了。 要注意特判在同一块内的操作,防止l与r分别把这个块进行了错误的处理。 https://loj.ac/problem/6277模板题 阅读全文