随笔分类 - NOIP
摘要:二分函数很容易写错(理解问题),需要仔细想一想。 1 #include<bits/stdc++.h> 2 #define rep(i,a,n) for(register int i = a;i <= n;++i) 3 #define per(i,n,a) for(register int i = n
阅读全文
摘要:1 int main(){ 2 int x; 3 while(1){ 4 x = read(); 5 printf("%d&%d == %d\n",x,-x,x&-x); 6 } 7 8 return 0; 9 } x&-x 为什么单点加时要+x&-x? ——因为令y = x+(x&-x),则x区间
阅读全文
摘要:写题思路一定要清晰后再动键盘,否则肯定死得很惨。。(被绿题虐系列) 题目要求所有满足颜色相同且两点间存在一点小于等于某值的方案数。 显然2e6的数据一般是O(n)的做法,所以从一开始就在想递推式,然后由于思路比较乱,一直没有写出来,直到今天才好好理了理思路: 对于读入到的一点,颜色为cl,价格为wi
阅读全文
摘要:a0+a1*x+a2*x^2+a3*x^3...+an*x^n =a0+x*(a1+x*(a2+x*(a2+...+x*(an+0) ) ) ) 正好可以递归计算。 一个小技巧是过程在一个大质数的同余系中计算,没有降低太多正确性,却避免了高精度。(重要)
阅读全文
摘要:感谢https://www.luogu.org/blog/user38385/solution-p2252 自从昨天考了博弈论的一道程序填空题,博弈论的阴云便一直在我的心上徘徊,今天把这个坑填一下。 一.巴什博弈(Bash Game) A和B一块报数,每人每次最少报一个,最多报四个,看谁先报到三十.
阅读全文
摘要:因为每个W被有效利用一次,共logmaxm次,又每次都要查很多可能有重叠的区间,所以可以每次求前缀和,从而加速每次查询。 一开始并没有想到用前缀和,因为没有注意到每次查询有大量重复计算及本题可用两个前缀和处理的性质。
阅读全文
摘要:很强的高精 唐神的板子好用又好看 %Candy? 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 6 using namespace std; 7 8 const int B =
阅读全文
摘要:线段树可以搞,思维难度确实小一些,但是复杂度可怕 O(mnlogn) 正解:差分+二分,复杂度(nlogm)且代码短。 总之,能用差分、前缀和、二分搞得尽量不要上线段树,代码长,常数还大,迫不得已再用。 1 #include<iostream> 2 #include<cstdio> 3 #defin
阅读全文
摘要:lca的倍增策略不仅可以维护最近公共祖先,还可以维护其他具有区间可维护性的信息,例如本题中维护的最小限重。 本题调了好久,最后发现原因是数组用混了。以后一定要记准各个数组含义,千万不要混啊。。。 1 #include<iostream> 2 #include<cstdio> 3 #include<c
阅读全文
摘要:乍看一眼以为是高精,随便写了个usigned long long交上去拿了50分,翻了翻题解才知道用了我没用过的算法——秦九韶算法,算是道模板了吧,不过这道题中的对10^10000的数的处理值得记住,并不是告诉了模一个质数才是模质数的题,凡是位数特别多且不要求求具体答案的大概都可能用到模质数吧 代码
阅读全文
摘要:这道题本身真的不怎么难,但是 "路径上所有的点的出边所指向的点都直接或间接与终点连通" 这句话真的是太ex了。。 我隐隐约约记得当年做这道题时的懵逼,看来当时的代码确实是没什么问题,只是因为理解上的误差 教训:好好看题,看明白了再做,要不然一切都是白干。 题干
阅读全文
摘要:看着纸质题做的,感觉挺水的一道题,结果居然过不了 思路和网上的正解非常相似,但是就是不知道哪里错了 我的做法复杂度更优秀,整体思路也基本一致,为什么不对呢? 可能还是没想明白吧,等我明天再想想。 1 #include<iostream> 2 #include<cstdio> 3 #include<a
阅读全文
摘要:n! ≡ n! mod p(mod p) 所以n!的逆元≡(n! mod p)的逆元 这样就可以做这道题了。
阅读全文
摘要:这两道题看起来几乎一模一样,但是第一道是绿题,第二道却是橙题,做法也很不一样。 为什么第二道可以直接递推,第一道却得用单调栈呢? 其实也不难分析。两道题的区别是是否限制填充矩形的宽度。第一道没有限制,对于每个高度需要用几个矩形便是未知的, 故须找出最优方案,所以根据其最优处理的特点利用单调栈处理每个
阅读全文

浙公网安备 33010602011771号