2020/2/14-2/16

1. 循环提取一个数的每一位数字

while (d > 0)           //d=0跳出循环
{x=d%10;             //x每次为d的个位数 d = d / 10;         //相当于d每次舍去个位数
}

2. c++new创建动态二维数组

int *a=new int[n];               //创建动态一维数组
int(* a)[2] = new int[n][2];     //创建动态二维数组[n][m]m必须为const常量

3. 洛谷上的一道题:

某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,…,L都种有一棵树。
由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。
输入格式:第一行有2个整数 L(1≤\leq≤ L ≤\leq≤ 10000)和 M(1≤\leq≤ M≤\leq≤ 100)M,L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。
接下来的M行每行包含2个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。
输出格式:1个整数,表示马路上剩余的树的数目。

#include<iostream>
using namespace std;
int main()
{int L, n;cin >> L >> n;int* a = new int[L];             for (int i = 0; i <=L; i++)a[i] = 1;                                 //让a数组元素全为1表示这里有树int(* b)[2] = new int[n][2];for (int i = 0; i <n; i++)                    //输入M个区域{for (int j = 0; j < 2; j++)cin >> b[i][j];}for (int i = 0; i < n; i++){for (int j = b[i][0]; j <= b[i][1]; j++) a[j] = 0;                            //在M区域范围的a令为0,表示树已经被砍}int sum = 0;for (int i = 0; i <= L; i++){sum += a[i];}cout << sum << endl;                        //输出a中1的个数即为剩余的树return 0;
}

4. 洛谷上一道题P1553 数字反转(升级版)中坑人的数:

0.00
0/111
0000/123
0%         //这个坑死我了
12.00000

5. 回文数判断:
洛谷:P1217 [USACO1.5]回文质数 Prime Palindromes总结
回文质数优化除了 11 以外的回文质数一定是奇数位数
一个整数如果奇数位的数字和等于偶数位的数字和,则其能被11整除。
偶数位数的回文数都能被11整除。所以除了 11 以外的回文质数一定是奇数位数

bool hui(int n)
{unsigned i=n;unsigned m=0;while(i>0){m=m*10+i%10;    //每次提取个位数然后乘以10在接着提取个位数i/=10;}return m==n;
}

6.万能开头文件:

#include<bits/stdc++.h>//万能头文件

7.质数判断(高效):
大于等于5的质数一定和6的倍数相邻。例如5和7,11和13,17和19等等;
一个博主对质数判断的总结下面代码是这个博主写的,贴贴过来作为笔记

bool isPrime_3( int num )
{//两个较小数另外处理if(num ==2|| num==3 )return 1 ;//不在6的倍数两侧的一定不是质数if(num %6!= 1&&num %6!= 5)return 0 ;int tmp =sqrt( num);//在6的倍数两侧的也可能不是质数 在6两边的数不可能被2 3 4整除所以从5开始以6为步长for(int i= 5;i <=tmp; i+=6 )if(num %i== 0||num %(i+ 2)==0 )return 0 ;//排除所有,剩余的是质数return 1 ;
}

7.有点爱上递归的简洁洛谷P1028 数的计算:
我们要求找出具有下列性质数的个数(包含输入的自然数nnn):
先输入一个自然数nnn(nnn≤\leq≤ 100010001000),然后对此自然数按照如下方法进行处理

  1. 不作任何处理;
  2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;
  3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.

输出111个整数,表示具有该性质数的个数
发现:f[i]=f[1]+f[2]+f[3]+...+f[i/2];f[i]=f[1]+f[2]+f[3]+...+f[i/2];f[i]=f[1]+f[2]+f[3]+...+f[i/2];iii为奇数时f[i]=f[i−1]f[i]=f[i-1]f[i]=f[i−1]当i为偶数时f[i]=f[i−1]+f[i/2];f[i]=f[i-1]+f[i/2];f[i]=f[i−1]+f[i/2];(通项公式做差可以求出)

#include<iostream>
using namespace std;
int main()
{int f[1001];int n;cin >> n;f[1] = 1;for (int i = 2; i <= n; i++){f[i] = f[i - 1];if (i % 2 == 0)f[i] += f[i / 2];}cout << f[n];return 0;
}

8.对于不安全情况的处理:

#define _CRT_SECURE_NO_WARNINGS
//或者
#pragma warning(disable:4996)

9.填充以及输出位数:

#include<iomanip>
cout<<setiosflags(ios::left)<<setfill('*')<<setw(5)<<endl;
//左对齐(默认右对齐),每个输出位占5,不够以'*'填充(默认以空格填充)
cout<<setiosflags(ios::fixed)<<setprecision(2);
//保留两位小数

前两天刷了刷洛谷,感觉已经刷不动了。算法知识为0,开始恶补算法!!!

【c++算法刷题笔记】——洛谷1相关推荐

  1. 算法刷题【洛谷P1593】因子和(附等比数列求和公式推导)

    异想之旅:本人原创博客完全手敲,绝对非搬运,全网不可能有重复:本人无团队,仅为技术爱好者进行分享,所有内容不牵扯广告.本人所有文章仅在CSDN.掘金和个人博客(一定是异想之旅域名)发布,除此之外全部是 ...

  2. 算法刷题【洛谷U193902】橡皮泥

    异想之旅:本人原创博客完全手敲,绝对非搬运,全网不可能有重复:本人无团队,仅为技术爱好者进行分享,所有内容不牵扯广告.本人所有文章仅在CSDN.掘金和个人博客(一定是异想之旅域名)发布,除此之外全部是 ...

  3. 【c++算法刷题笔记】——洛谷2

    1. 洛谷练习--P1579 哥德巴赫猜想(升级版) 题目描述: 现在请你编一个程序验证哥德巴赫猜想. 先给出一个奇数n,要求输出3个质数,这3个质数之和等于输入的奇数. 输入格式: 仅有一行,包含一 ...

  4. Github最强算法刷题笔记.pdf

    资料一 昨晚逛GitHub,无意中看到一位大佬(https://github.com/halfrost)的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙 ...

  5. 发现一位大佬的算法刷题笔记PDF

    昨晚逛GitHub,无意中看到一位大佬(https://github.com/halfrost)的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙伴没有看 ...

  6. 经典算法刷题笔记pdf

    昨晚逛GitHub,无意中看到一位大佬(https://github.com/halfrost)的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙伴没有看 ...

  7. 深度优先搜索dfs算法刷题笔记【蓝桥杯】

    其实网上已经有不少dfs的算法笔记,但我之所以还再写一篇,主要是因为我目前见到的笔记,都有些太偏向理论了. 对于基础薄弱的或是没有基础的人(like me),有点不合适,因为看了,也不能说自己会了. ...

  8. 字节大老耗时5年总结的算法刷题笔记(全彩漫画版)

    前言 王国维先生在<人间词话>中写道:古今之成大事业.大学问者,必经过三种境界:"昨夜西风凋碧树.独上高楼,望尽天涯路."此第一境也."衣带渐宽终不悔,为伊消 ...

  9. 一夜登顶GitHub!字节内网数据结构与算法刷题笔记,看完直呼卧槽

    网络上流传着一句段子"程序员两条腿,一条是算法,一条是英文,想跑的更远,这两条腿都不能弱".英文,我们暂且不谈,我们先来谈谈算法. 算法之难,在于将精巧的逻辑,通过合适的数据结构, ...

最新文章

  1. Mac安装mysqldb
  2. python基本语法语句-Python基本语法,python,基础
  3. python学习基础知识_python学习基本知识
  4. flat在java中的含义_Java 9中Collectors.flatMapping()方法的重要性?
  5. 【LeetCode】剑指 Offer 52. 两个链表的第一个公共节点
  6. mysql 知识_关于mysql基础知识的介绍
  7. poj 3181 Dollar Dayz (整数划分问题---递归+DP)
  8. AWS中国区同时上线两款新产品,补齐存储服务“全家桶”!
  9. python知识点总结一
  10. Confluence 6 升级自定义的站点和空间布局
  11. 工作流集成表单的过程
  12. flex blazeds java spring_flex+blazeds+java+spring后台消息推送
  13. 产品读书《缔造企鹅:产品经理是这样炼成的》
  14. android 修改软件图标大小,android – 是否可以在EditText中更改图标的大小
  15. 微信小程序如何实现登录注册带源码
  16. 基于docker实现openwrt软路由与OMV(NAS)应用
  17. iNFTnews|日本即时通讯软件LINE推出NFT市场
  18. java判断object对象为不为空
  19. Android图片轮播第三弹,给你想不到的惊喜
  20. 2022 年InfoWorld 精选最佳开源软件

热门文章

  1. centos php.ini redis,CentOS下安装Redis及Redis的PHP扩展
  2. 怎样才能去掉图片锁定纵横比_1分钟批量统一Word中300张图片的大小!无需插件、代码,超级简单...
  3. 计算机网络实验arp协议分析,计算机网络ARP地址协议解析实验报告
  4. 7-3 凸多边形最优三角剖分 (10 分)(思路+详解+分析题意+动态规划)Come Baby!!!!!!!!!
  5. 7-11 租用游艇问题 (15 分)(思路+详解+一步步分析+网格解决动态规划问题)Come boy!!!!
  6. DFS和BFS总结和代码演示(详解)
  7. Java 源程序与编译型运行区别
  8. [C++11]decltype在泛型编程中的使用举例
  9. [C++STL]set容器用法介绍
  10. [Java基础]字符串中的编码解码问题