摘要: 模平方根算法 求a的b次方有库函数 pow(a, b),可是它返回值是double类型,而且在不同开发环境下,数据有精度误差(比如某DEV,详见),如果自己写for循环,当b特别大时,超范围、超时都妥妥的。所以,就有了模平方根算法,也就是通常说的快速幂。 原理: //递归写法 int pow_pow 阅读全文
posted @ 2019-10-16 16:39 czc1999 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 素数的判定 试除法 (1)普通 复杂度:$O(n)$ bool prime(int x){//判断x是不是质数,是返回true,不是返回false if(x <= 1) return false; for(int i = 2; i < x; i ++){ if(x % i == 0) return 阅读全文
posted @ 2019-10-15 21:14 czc1999 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 数论倒数,又称逆元 取模 对于取模,有一下一些性质: 但是唯独除法是不满足的: 为什么除法错的呢?很好证明: 而对于一些题目,我们必须在中间过程中进行求余,否则数字太大,电脑存不下,那如果这个算式中出现除法,我们就需要逆元了。 逆元 定义: 我们知道,如果a*x = 1,那么x是a的倒数,x = 1 阅读全文
posted @ 2019-10-13 13:49 czc1999 阅读(428) 评论(3) 推荐(0) 编辑
摘要: 教材《应用密码学》-- 西安电子科技大学出版社 概念 将明文中的每一个字符均被替换成另一个字符(密文字符),接收者对密文做反向替换就可以恢复出明文。 替换密码是基于符号替换的密码技术,以符号的置换来达到掩盖文明信息的目的。 1、单字符单表替换密码技术 单表单字符的含义是对明文中所有的字符都使用一个固 阅读全文
posted @ 2019-10-11 15:01 czc1999 阅读(584) 评论(1) 推荐(1) 编辑
摘要: 条件编译中使用的预编译指令 条件编译是根据实际定义宏(某类条件)进行代码静态编译的手段。可根据表达式的值或某个特定宏是否被定义来确定编译条件。 #define 定义一个预处理宏#undef 取消宏的定义#if 编译预处理中的条件命令,相当于C语法中的if语句#ifdef 判断某个宏是否被定义,若已定 阅读全文
posted @ 2019-09-11 18:34 czc1999 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 题目 2019.9.7,icpc徐州网络赛的E题 XKC's basketball team ,计蒜客上还可以做。 链接:https://nanti.jisuanke.com/t/41387 Input The first line contains two integers n and m ( 2 阅读全文
posted @ 2019-09-08 16:21 czc1999 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个整型数组,数组元素随机无序的,要求打印出所有元素右边第一个大于该元素的值。 如数组A=[6,8,9,2,3,5,6] 输出[8,9,-1,3,5,6,-1] 思路: 我们用栈来保存未找到右边第一个比它大的元素的索引(后面要用索引来给res数组赋值),初始时,栈里放的是第一个元素的索引 阅读全文
posted @ 2019-09-08 16:17 czc1999 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 不准用+,-,*,/ 运算操作符来实现四则运算。 1、整数加法 https://leetcode.com/problems/sum-of-two-integers/ int add(int a, int b) { int ans = a; while (b) {//直到没有进位 ans = a ^ 阅读全文
posted @ 2019-04-09 17:43 czc1999 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 1、暴力版 本质上就是求连通块数量,那么DFS或者BFS都行,暴力跑。 写完发现题目比较特殊,m次提问,那每次都暴力搜,肯定是要跑死了。 #include <iostream> #include <string.h> #include <stdio.h> int cnt,n; int dir[4][ 阅读全文
posted @ 2019-04-03 21:45 czc1999 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 1、深度优先搜索(DFS)+回溯 最基本的板子: void DFS(int x,int y) { if (x,y都与目标点相同) { 得到一个解; } else { for (int i = 1; i <= 四个方向; i++) if (满足进一步搜索条件) { 为进一步搜索所需要的状态打上标记; 阅读全文
posted @ 2019-04-01 23:20 czc1999 阅读(1080) 评论(0) 推荐(0) 编辑