将整个字符串或者是字符矩阵hash为一个P进制数字,数字需要对2^64取余数,unsigned long long 即为2^64,所以将所有与字符串相关的数字都设置为ull即可,当P=131或P=13331的时候冲突概率几乎为0,对字符串的操作可以直接对字符串对应的P进制数字进行 已知 str 的h ...
分类:
其他好文 时间:
2020-03-04 00:11:10
阅读次数:
64
题目:传送门 题意:问存在多少 1 ~ n 的排列满足任意相邻的两个数互质,输出答案取余 mod。 1 <= n <= 28, 1 <= mod <= 30000 思路:很容易想到状压DP, dp[ i ][ j ]其中 i 是最后一个数要填的数,j 是当前使用过的数的状态,每一个二进制位对应一个数 ...
分类:
其他好文 时间:
2020-03-03 11:04:13
阅读次数:
63
题目描述: 输入两个非负10进制整数A和B(≤230-1),输出A+B的D(1<D≤10)进制数。 输入格式: 输入在一行中依次给出3个整数A、B和D。 样例: 输入:123 456 8 输出:1103 思路: 先计算A+B的值,然后再将其转换为D进制。可使用“除基取余法”。 注意点: A+B的范围 ...
分类:
其他好文 时间:
2020-03-02 22:24:25
阅读次数:
65
判断一个整数是否是回文数。 题解 普通解法:将整数转为字符串,然后对字符串做判断。 我的解法代码 取出后半段数字进行翻转 每次进行取余操作,取出最低数字 将最低数字加到取出数的末尾 每取一位最低数,x就要/10 判断x是否小于取出数,小于时代表已经对半 如果是偶数,则两者相等,如果是奇数,需要/10 ...
分类:
其他好文 时间:
2020-02-28 15:47:35
阅读次数:
63
"题目" 题目描述 给出一个有理数 $c=\frac{a}{b}$,求 c mod 19260817 的值。 输入格式 一共两行。 第一行,一个整数 a。 第二行,一个整数 b。 输出格式 一个整数,代表求余后的结果。如果无解,输出 "Angry!"。 输入输出样例 输入 233 666 输出 18 ...
分类:
其他好文 时间:
2020-02-26 20:50:17
阅读次数:
59
今天学习快速幂。 定理一:积的取余等于取余的积的取余。即a%c*b=a*b%c; 定理二: 1.如果b是偶数,那么ans = (a^2 mod c)^(b/2); 2.如果b是奇数,那么ans=(a^2 mod c)^(b/2)*a; 由此,我们可以得出快速幂的算法为一下。 1 int PowerM ...
分类:
其他好文 时间:
2020-02-23 11:16:07
阅读次数:
61
快速幂的用法及推导 之前算一个$a^k$时间复杂度是$O(K)$.搞一个循环不断的相乘 现在是$O(logk)$ 在30次之内算出来 核心思想:反复平方法 等号两边同时模一个数,那个大小是不变的 代码 快速幂求逆元 除法取余数是很麻烦的一件事情 a/b = ax (mod m) x是b的mod m的 ...
分类:
其他好文 时间:
2020-02-21 16:19:20
阅读次数:
67
05 基本运算符 一、算数运算符 乘除加减 整除(地板除) 只保留整数部分,不是四舍五入,而是直接抛弃小数部分 取余 (取模) 次方 二、比较运算符 一个等号是赋值符号,二个等号是等于号 python print(10 3 and True) True True and True and 3 2 a ...
分类:
其他好文 时间:
2020-02-21 11:21:37
阅读次数:
73
1.常见的运算符 加(+) 减(-) 乘(*) 除(/) %(取余) 加减乘除没什么好讲的。我们讲讲取余 取余只能整数除以整数,若除数比被除数大,直接除数就是余数,若除数比被除数小,被除数就除以除数直到剩下的数比除数小,则这个数就是余数,而且注意余数的符号要与被除数的符号一致 浮点数 运算会有问题 ...
分类:
编程语言 时间:
2020-02-20 22:24:14
阅读次数:
111
素材来源:百度经验 一、二进制与十进制之间的转换 1、十进制转二进制(只含整数) 方法:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。读数要倒叙读。 2、十进制转二进制(小数部分) 方法:乘2取整法,即将小数部分乘以2,然后取整数部分, ...
分类:
其他好文 时间:
2020-02-19 22:26:26
阅读次数:
191