模板合辑
一些模板
Ctrl AC
I'm sorry for everything, everything I've done.
展开
-
【模板】速度优化·快读快写(较详)
“ Ctrl AC!一起 AC!”目录前言整数的快读快写浮点数的快读快写字符串的快读快写输入输出速度比较(慢->快):基于getchar/putchar实现灰常快的“快读快写”浮点数的快读快写主要思想就是,先处理整数部分,再处理小数部分字符串的快读快写字符串的快读快写 其实 速度比那些 字符串输入函数 快不到哪里去。不如直接使用函数输入。字符数组 a[m] :cin.get(a,m) , gets(s) 等string字符串 s :getline(cin,s) 等(上述函数都可读空格,以原创 2022-06-12 22:22:45 · 1661 阅读 · 1 评论 -
【刷题笔记】线段树
query函数:当线段树当前结点范围被要查询范围包围时直接返回。否则判断左右子树的遍历方向。测试数据不会出现越界的情况,不需考虑。配套题目:click· 分步建树将数组长度作为分界线进行左右子树建立,当l==r时,就是最新元素的位置配套题目:click· 区间查询与更改模板题目:click· 单点修改区间查询模板题目:click...原创 2022-06-12 15:12:31 · 116 阅读 · 1 评论 -
浮点数二分模板(附实例)
“ Ctrl AC!一起 AC!”目录模板:题目:~~~广告:整数二分详见:整数二分模板(附实例)浮点数二分是一种不精确的二分,因为受浮点数小数位数限制,我们只能根据题目意思,求个大概的值。模板:double binary_search(double l,double r){ const double eps=1e-6; //eps表示精度,根据题目确定 while(r-l>eps){ //精度不足,则继续二分 double mid=(l+r)/2 /原创 2022-03-11 22:06:48 · 487 阅读 · 0 评论 -
整数二分模板(附实例)
前言:二分算法的模板多到有点恐怖,但它们基本都只是实现了两种算法:所有解中找最大优解、所有解中找最小优解。(那我(们)干脆每种记一个模板就够了,鄙人很懒,你们随意咯)。至于二分算法的模板为什么有很多,那是因为1.退出循环的选while(l<r) 还是选 while(l<=r) 。2. 什么时候用l=mid,l=mid-1,l-mid+1,r=mid,r=mid+1,r=mid-1里面的哪两个组合。3. 答案是mid 还是 r 还是 l。其实熟悉二分的同学可以直接推理出来,就.原创 2022-01-08 12:25:22 · 1412 阅读 · 3 评论 -
高精度加减乘除法(代码合辑)
“ Ctrl AC!一起 AC!”目录高精度加法:高精度减法:高精度乘低精度:高精度乘高精度:高精度除低精度:高精度除高精度:高精度加法:#include <stdio.h>#include <iostream>#include <math.h>#include <string.h> using namespace std;int main(){ int a[202]={0},b[202]={0},c[202]原创 2022-01-23 21:13:08 · 298 阅读 · 0 评论 -
汉诺塔递归&非递归(简码合辑)
“ Ctrl AC!一起 AC!”递归法:#include<iostream>using namespace std;//递归到第一个盘子进行操作void hanoi(int n,char a,char b,char c){ if(n==0) return; hanoi(n-1,a,c,b); //将n-1个盘子放到辅助柱上 printf("%c -> %c\n",a,c); //上步空出空间,让第n个盘子移动到目的柱 hanoi(n-1,b,a,c); //将n-原创 2022-01-28 22:20:29 · 3045 阅读 · 0 评论