摘要:
noip校内模拟赛小结 密码为机房楼层和我最近最喜欢的动漫角色名字拼音全拼 阅读全文
摘要:
不能用memset给double 赋最大值 阅读全文
摘要:
什么是分块 分块,顾名思义是一种将数据分成多块,以实现一些功能的算法。 分块算法实质上是一种是通过将数据分成多块后在每块上打标记以实现快速区间修改,区间查询的一种算法。其均摊时间复杂度为 \(O(\sqrt{n} )\) 分块的具体操作 分块 void create() { t=sqrt(n); f 阅读全文
摘要:
1 基本概念 1.1 符号 异或是一种二进制的位运算,符号以 XOR 或 ^ 表示。 1.2 运算规则 相同为0,不同为1,即(可以看做二进制下的不进位加法) 1 ^ 1 = 0 0 ^ 0 = 0 1 ^ 0 = 1 1.3 运算性质 交换律: A ^ B = B ^ A 结合律: ( A ^ B 阅读全文
摘要:
什么是数位DP 数位dp是与数字相关的一类计数问题。这这类问题中,一般给定一些限制条件,求满足第 \(K\) 小的数是多少,或者求区间 \([L,R]\) 内有多少个满足条件的数。 本文主要讲述如何解决 求区间 \([L,R]\) 内有多少个满足条件的数 这一类问题。 为什么要用数位dp 对于上述问 阅读全文
摘要:
前言 当你使用了\(vector\) 你一定觉得这是一个非常实用,非常好用的数据结构。当你这样想的时候,你就陷入了\(vector\)的圈套。 正文 注意事项 vector的定义与赋值操作 当你定义了一个指定大小的\(vector\),如:vectorv(N)此时容器中的所有元素都被赋值为\(0\) 阅读全文
摘要:
cout冷知识 在C++中,cout对象默认使用科学计数法来输出较大或较小的数字。 所以如果在有较大输出的题目里使用cout,你就会面临WA的情况。 例子: 阅读全文
摘要:
Candy Cane Feast 第一题签到题,依题意模拟即可。注意细节,细节决定成败。 Cowntact Tracing 2 贪心。 读题 奶牛传染,每个奶牛每晚传染左边和右边的奶牛。给定一个传染情况,求最开始最少有几个奶牛。 我们记 k 为造成当前传染情况的传染天数。可以知道,传染的天数越多,被 阅读全文
摘要:
挖个坑,今天晚上完成三篇手工翻译。awa T1 Palindrome Game 赛时 100分 经典博弈论。手动枚举一下,很容易发现规律,当 S 为 10 的倍数时,先手输。 手动枚举需注意,不会证明你先别急,枚举要多,才能得出普遍规律(这个傻逼比赛刚开始一直打的是,当 S 为时 10 先手输)。 阅读全文
摘要:
普通的打表 大家都会打,只需要暴力输出每个数对应的答案。十分地方便,但是,如果数据范围过大。代码根本记录不下那么多的答案,毕竟NOIP 的内存限制一般是 128MB。太多的数字实在是存不下。此时就请出了 分块打表 。 分块打表 分块打表是一种应用于答案范围较大的打表方法。使用此打表方法的前提是:答案 阅读全文