摘要:
传送门:https://codeforces.com/problemset/problem/962/C 题意:给定数n(1~2e9),可任意删某位上的数字,尽量使剩下的数开方后为整数,输出最少可删多少位数。 随便搞一搞,先把1~1e5所有数的平方存下来, 接下来就是怎么筛数了 咋筛呢 n最多9位 从 阅读全文
摘要:
图论蛮好玩的呢 比起数论真是有趣多了 有空整理一下下 首先,图是个什么鬼东东呢 graph, 一堆点集,一堆边集,可以把各种事物抽象成点,事物之间的联系用边来表示,边上还可有权值,表示距离费用等 e.g. 把各个城市抽象成点,城市之间可以由高铁直达的称作有联系(边), 边上还可附加权值,俩城市间距离 阅读全文
摘要:
题意:给定数n,可进行两种操作:乘一个任意数x; 开方,( sqrt(n)必须为整数 输出可达最小值ans 及 最小操作数 一个数可分解成有限个质数的幂次相乘:n=p1^x1 * p2^x2 * p3^x3..., 则n的所有质因子的乘积即为ans 接下来就是找所有质因子和判断最小操作数了 从 i= 阅读全文
摘要:
题意:从1~n中选最多k个数,使异或值最大 啊啊啊 no more than k 每次都自动忽略 奇了怪了 刚开始以为必须选k个数, 想了半天 wa 既然最多能选k个数 那选俩异或值最大的(k==1 就只能选n了 2^p xor z^p-1 == 2^(p+1)-1 能得到最大值 找<=n的最大2^ 阅读全文
摘要:
数学技巧真有趣,看出规律就很简单了 wa 题意:给出数k 输出所有阶乘尾数有k个0的数 这题来来回回看了两三遍, 想的方法总觉得会T 后来想想 阶乘 emmm 1*2*3*4*5*6*7*8*9*10...*n 尾数的0只与5有关 是5的几倍就有几个0 因为5前面肯定有偶数 乘起来就有一个0 而且最 阅读全文
摘要:
从 i : 1~n, 是i的倍数, 则计入该数 复杂度 n*(1/1+1/2+1/3+...1/n)=nlogn 阅读全文
摘要:
1.整数快速幂 计算 a^p a ^ p =a ^ ( k * d + c ) = ( a ^ k) ^ d * a ^ c; e.g. 2 ^ 5 = ( 2 ^ 2 ) ^ 2 * 2 ^ 1 计算次数减少 对应p的二进制位,若该二进制位为1, ans乘上该位的res幂次,每二进制位乘上该位幂次 阅读全文
摘要:
lower_bound() 在数组中搜索时 搜不到 返回 .end(), 若需要返回0,用upper_bound()-lower_bound() 若要返回下一个下标 则需要在set / multiset 中使用lower_bound() 下面是测试代码及样例 #include<iostream> # 阅读全文
摘要:
题意: n项工作 1~n 工时s[i] ~e[i], 工时有覆盖的工作不能被同一台机器同时操作, 问完成所有工作的最少机器数 思路:前缀差分和 e.g. a 2 3 4 machine 2 b 1 2 3 machine1 c 5 6 7 machine2 a做完后空闲做c d 3 4 5 6 7 阅读全文