算法练习
Warddamn
这个作者很懒,什么都没留下…
展开
-
算法刷题的一些注意点:包括C++编译有效位数,位操作,不同时间复杂度能通过的数据量范围
①C++编译器最长有效位数问题整型变量int类型最多为21亿,即(20)^9,long long 最多是(90)^18②异或C++按位操作详解析https://blog.csdn.net/weixin_42837024/article/details/98736834https://blog.csdn.net/tangyanzhi1111/article/details/21696943https://blog.csdn.net/ikerpeng/article/details/44832915原创 2020-11-12 19:02:39 · 237 阅读 · 0 评论 -
C++:如何读取输入的多行字符串&&以及如何逐个字符读取,以及补充了,当知道题目中的所有情况时,学会用打表,即学会用一维数组的下标去表示每一种情况!!!比如埃氏,26个字母等等,都是这种打表的方法
一、说明如果要实现读取多行字符串的字符输入,那么就不可以用cin.getline,只可以将字符串分成每个字符存入字符数组二、方法逐个字符存入字符数组中,此时不一定要用getchar,直接存入就好了。char ch;char s[10001];int count;while(cin>>ch){s[++count]=ch;}这样就可以实现读取输入的多行字符串,然后存入到字符数组中,再去读取使用,或者也可以不存入字符数组,直接对ch进行操作,总之,直接用while(cin>原创 2020-11-25 15:07:29 · 6127 阅读 · 1 评论 -
【洛谷——函数与结构体】P1217 [USACO1.5]回文质数 Prime Palindromes(补充了做题心得,回文数质数知识点还有打表,分析题目的方法,还有埃氏筛选法)
1.出错点①最大的出错点就是做着题的时候还是没有按分析题目的步骤去分析,没有把问题化出一个个小的去解决,然后找每一个小部分的最优解!②WC的原因是因为判断质数的时候,时间超时了,没有找到一个很好的方法去更简便更快的判断出来,所以要补充知识点2.心得①要掌握分析题目的方法:对于此题,要筛选出质数回文数,所以自然就会先想到有两种办法,先判断质数然后判断回文数,或者先判断回文数,然后再判断质数**(思维要宽广一点,时时刻刻都要有分类思想)。继续分析,要先判断这两种数,那么必然要先明白这两个数的特点。所以紧原创 2020-11-04 22:08:22 · 190 阅读 · 1 评论 -
【算法练习】洛谷——算法1-1模拟与高精度 P1563 玩具谜题
#include <iostream>#include <string>using namespace std;string a[100010][2];int b[100010][2];/* 此题可以直接将这个循环圈看做一个竖着的一维数组,然后步数就是在这数组里面循环走,很像约瑟夫问题 current 是指向当前走到的那个人的数组,flag与flag2是分别判断两种情况数组溢出的时候 */ int main(){ int n,m,flag2=0;原创 2020-11-25 17:14:34 · 122 阅读 · 0 评论 -
【算法练习】打表问题,补充了打表,map头文件的用法和#define int long long
一、何时能用打表当题目中的问题的情况都能够列举出来的时候,就可以通过打表的方式,把所有结果都列出来,存在一个数组中,或者以一个数组的下标表示是否存在这个值二、打表的方法①根据题目的要求把各个情况枚举出来②将代码结果存在一个数组中,数组的下标表示结果存在,然后值为1三、打表例题①解题思路先从2开始枚举出2的一次方到2的n次方的值,如果它小于等于100000,则对应数组下标的值就,然后就开始枚举3,4,5……,一直到100000(+5)就好了②代码#include <iostream&原创 2020-11-19 23:16:20 · 1444 阅读 · 0 评论 -
【算法练习】矩阵前缀求和——补充了刷题心得
一、问题特点一维数组中转变为前缀和数组之后,每一行就代表着前几项的总和,同理前缀和矩阵中每一个元素代表着以这个一个元素为右下角矩阵里面所有元素的和。比如有一数组如下:map[2][3]1 2 34 5 6那么对应的前缀和为:sum[2][3]1 3 65 12 21二、求一个矩阵的前缀和矩阵规律一个矩阵的前缀和矩阵的每一个元素等于原矩阵对应的元素+前缀和矩阵对应元素同一行的前一列元素+前缀矩阵对应元素同一列的前一行元素-前缀矩阵对应元素对角的那个元素,记忆如下:sum[i][j]原创 2020-11-17 23:30:54 · 329 阅读 · 0 评论 -
【2020新生赛】奇偶校验——补充了与运算的特点与作用,int 8位,long16位 ,如何统计二进制中一的个数 ,如何将一个数以二进制的形式输出 ,如何在最高位添加1校验位
①知识点:<1>与运算的特点<2>与运算的作用①比对两数的位数相同②最高位添加0校验位的时候③判断一个二进制1的个数<3>int 8位,long16位<4>如何统计二进制中一的个数<5>如何将一个数以二进制的形式输出<6>如何在最高位添加1校验位详解:https://blog.csdn.net/weixin_30877755/article/details/96848381...原创 2020-11-17 00:03:22 · 1364 阅读 · 0 评论