zoukankan      html  css  js  c++  java
  • 各种小知识

    1.std:: cin/cout/endl

    2.sqrt使用时大多需要要强制类型转化,因为sqrt只支持double和float类型,

    可以这样c=(int) sqrt((double)a*a+b*b);

    或者c=(int) sqrt((float)a*a+b*b);

    3.各种输入

    cin.get()、cin.getline()、getline、gets

    4.->

    指针指向结构中的成员变量,其形象是个箭头,代表指向的结构

    比如:

    struct STUDENT {
        int number; 
        char name[20]; 
    }a,*p;
    
    a.number=101; 
    strcpy(a.name,"王小明"); 
    p=a; 
    if ( p->number==101 ) 
        printf("%s
    ",p->name); 

    当用实例访问结构中的变量number时,写成a.number 当用指向实例的指针访问时,写成p->number

    5.puts

    将指定的字符串输出到屏幕

    6.putchar

    c语言函数之一,作用是向终端输出一个字符。

    其格式为putchar(c),其中c可以是被单引号(英文状态下)引起来的一个字符,

    可以是介于0~127之间的一个十进制整型数(包含0和127),

    也可以是事先用char定义好的一个字符型变量。

    7.超详细tarjan

    8.isdigit

    作用:检查其参数是否为十进制数字字符

    isdigit()函数判断字符串是否为数字

    若参数c为阿拉伯数字0~9,则返回非0值,否则返回NULL。

    9.二维偏序主要思路

    二维偏序就是 x和y两个维度的共同比较 这种比较是二维的 同时他不是一个全序关系

    10.operator

    在C++中用到operator关键字,表示运算符重载.

        <类名>   operator   <运算符>(<参数表>)   

              operator是定义运算符重载函数的关键字。

    11.fgets

    fgets,是C语言中从文件中获取字符串函数

    从文件结构体指针stream中读取数据,每次读取一行。

    读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋''),

    如果文件中的该行,不足bufsize个字符,则读完该行就结束。

    函数成功将返回buf,失败或读到文件结尾返回NULL。

    因此我们不能直接通过fgets的返回值来判断函数是否是出错而终止的,应该借助feof函数或者ferror函数来判断。

    12.vector::iterator it

    https://blog.csdn.net/u010112268/article/details/81111086

    13.链式前向星

    14.完全背包

    for (int i = 1; i <= n; ++i) {
        for (int j = w[i]; j <= v; ++j) {
            f[j] = max(f[j], f[j - c[i]] + v[i]);
        }
    }

    或f[i][v]=max{ f[i-1][v-k*c[i]]+k*w[i] | 0<=k*c[i]<=v }

    15.基环树

    https://blog.csdn.net/Q1410136042/article/details/81152191

    https://blog.csdn.net/Binary_Heap/article/details/82080267

    基环树没什么用。

    它只能解决部分特殊问题,而这类问题通常会注明“边数=点数”,解法也比较单一,常被与其他算法一同考察。

    例 luogu P1453 城市环路

    16.各类背包问题

    17.知识点超级全的网站

    18.克鲁斯卡尔

    19.在线算法和离线算法的区别

    用LCA做例子,
    倍增算法先预处理每个点向上的路径,每次询问一对节点的时候,找到最近的2^k次公共祖先,然后向上跳2^(k-1),一直到找到答案。来一个询问,就回答一次。
    Tarjan算法把这个询问作为一条边挂在树上,最后做一次遍历,用并查集快速查找当前这棵子树的根。得到所有询问后统一回答。

    20.画图软件

    21.神奇的字符串输入输出

    #include<bits/stdc++.h>
    using namespace std;
    
    char a[100];
    
    int main(){
        scanf("%s", a + 1);//虽然不知道为什么,但这样确实可以读入一个字符串(一串字符)
        cout << a[5];//这也不知为什么,输出的就是上面输入的字符串的第5个
    }

    22.超详细的树链剖分

    23.考试错误集锦

    24.ios::sync_with_stdio(false)

    25.前缀和

    26.状压入门状压详解,状压方法状压DP

  • 相关阅读:
    108.将有序数组转换成二叉搜索树
    剑指Offer 09.用两个栈实现队列
    215.数组中的第K个最大元素
    AcWing 845.八数码
    1.两数之和
    迷宫问题
    倒计时
    Redis 红包
    Redis
    EF Api 全套
  • 原文地址:https://www.cnblogs.com/aprincess/p/11734762.html
Copyright © 2011-2022 走看看