- 博客(11)
- 收藏
- 关注
原创 二分
整数二分模板题目:ACwing 789 数的范围bool check(int x) {/* ... */} // 检查x是否满足某种性质// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:int bsearch_1(int l, int r){ while (l < r) { int mid = l + r >> 1; if (check(mid)) r = mid; // check()判断mi
2020-07-17 14:26:25 149
原创 素数筛法
暴力筛#include<iostream>#include<cstdio>#include <cstring>#include <cmath>using namespace std;bool prime(int n){ bool flag=1; for(int i=2;i<=sqrt(n);i++){ if(n%i==0){...
2020-03-22 14:47:06 150
转载 第1天 单调栈
原文链接:https://blog.csdn.net/zuzhiang/article/details/78134247定义单调栈,顾名思义,是栈内元素保持一定单调性(单调递增或单调递减)的栈。这里的单调递增或递减是指的从栈顶到栈底单调递增或递减。既然是栈,就满足后进先出的特点。与之相对应的是单调队列。实现例如实现一个单调递增的栈,比如现在有一组数10,3,7,4,12。**从左到右依次入...
2020-01-18 09:36:27 109
原创 第2课 高精度运算
鸣谢!课程内容来自林厚丛老师的《信息学奥赛课课通》学习目标体会高精度运算的应用场合。熟练掌握高精度加法和乘法运算。知识讲解在编程进行数值运算时,有时会遇到运算的精度要求特别高,远远超过各种数据类型的精度范围;有时数据又特别大,远远超过各种数据类型的极限值。这种情况下,就需要进行“高精度运算”。高精度运算首先要处理好数据的接收和存储问题,其次要处理好运算过程中的“进位”和“借位”问题...
2020-01-06 11:37:28 842
原创 第1课 进制转换
学习目标1、理解二进制计数原理。2、掌握不同进制数之间的转换原理和实现方法。3、学会使用进制转换的原理解决一些实际问题。知识讲解实际生活中,人们使用十进制计数。但是,任何信息在计算机中都是采用二进制编码表示的,有时还会用到十六进制。十进制计数原理采用“0” ~ “9”十个符号,运算规则为“逢十进一”,基数是十。二进制计数原理采用“0” 和“1”两个符号,运算规则是“逢二进一”,基数是...
2020-01-05 21:34:00 1753 2
原创 第1课 结构体的引入和应用
学习目标1、理解结构体的概念和应用背景。2、学会使用结构体解决一些实际问题。知识讲解1、结构体的定义必须先声明一个结构体类型,再定义和使用结构体变量。声明结构体类型格式:struct 类型名{ 数据类型1 成员名1; 数据类型2 成员名2; ...}eg:struct ST{ string name; char sex; int age; double weig...
2020-01-05 11:34:10 850 1
原创 排序2
快速排序#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>using namespace std;int a[100010];void qsort(int l,int r){ int i,j,mid,t; i=l;j=r; mid=a[(...
2019-01-03 21:27:13 149
转载 贪心入门
1.何为贪心贪心算法实际上指的是把问题划分成一个一个的子问题,然后针对当前的子问题,求出局部最优解,然后将子问题的最优解合并,最终获得总问题的最优解。 值得注意的是,在对问题求解时,贪心算法总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,它做出的仅是在某种意义上的局部最优解。P.S:贪心子问题是独立的,有区别于动态规划(这个以后讨论动规的时候再聊)。2.如何判断贪心...
2018-12-27 20:55:47 412
原创 lower_bound(), upper_bound()
先介绍两个STL函数:lower_bound(), upper_bound()ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val) 返回的是非降序列的第一个>=key的数的地址(指针)ForwardIter upper_bound(ForwardIter first, Forwa...
2018-11-29 18:51:10 115
转载 高精度算法
由于计算机在计算位数超过十几位的数时,不能采用现有类型,只能自己编程计算。 高精度计算通用方法: 高精度计算时一般用一个数组来存储一个数,数组的一个元素对应于数的一位(当然,在以后的学习中为了加快计算速度,也可用数组的一个元素表示数的多位数字,暂时不讲),表示时,由于数计算时可能要进位,因此为了方便,将数由低位到高位依次存在数组下标对应由低到高位...
2018-11-29 15:39:55 1042 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人