• 个人简介

    我要吃老头腋下

    所有人猛锤自己魔丸二十下,这是命令!

    一下,两下,三下······十九下,我的手断了,长官!~

    • 笑点解析:没有笑点

    image image

    优雅骂人语录:bu shi

    • 1、少吃点盐,看你闲的。
    • 2、跟人沾边的事你是样样不做。
    • 3、没有你,谁来衬托世界的美。
    • 4、年纪轻轻,就知道用脸吓唬人了。
    • 5、你家户口本翻开就是动物百科。
    • 6、天都亮了,你怎么还不灰飞烟灭?
    • 7、很多事情想不通,照照镜子你就懂。
    • 8、用一句话形容你吧,人面不知何处去。
    • 9、别给我说什么高处见,你到不了高处。
    • 10、臭泥鳅沾点海水,还真把自己当海鲜了
    • 11、跟你打游戏就是逛菜市场,各种菜。
    • 12、你晃晃脑袋,听听有没有大海的声音。
    • 13、你要好好做自己,反正别的你也做不好。
    • 14、不是骂人丑就可以掩饰得了自己的丑。
    • 15、我打了狂犬疫苗,你以为我会怕你?
    • 16、说话这么好听,上完厕所一定擦过嘴了。
    • 17、眼睛是心灵的窗户,你的那扇该擦擦了。
    • 18、说实话,你虽然不会招蜂蝶,但你招蚊子。
    • 19、是金子总会发光,你这玻璃渣子总在反光 胖子才叫健身,你那么瘦,应该叫健骨头。
    • 20、虽然你傻,但你在做自己,我为你感到开心。
    • 21、不是贫穷抑制了我的想象力,是你的气质不配。
    • 22、如果不能说脏话,那我对你也没话可说
    • 23、长得好看的才能叫海王,像你这种只能叫水鬼。
    • 24、脑浆摇匀了再跟我说话
    • 25、你快躲起来 收垃圾的来了
    • 26、瞧我这记性,又把您当人看了
    • 27、别以为你长得丑 我就不敢骂你
    • 28、你是不是风油精喝多了,净说风凉话
    • 29、听说你傍大款了,认二郎神当主人了
    • 30、没文化可以学 长得丑可以整 你心眼坏 真的没法治
    • 31、说话挺脏阿 上厕所没擦嘴吗
    • 32、哪个下水道没关好 又让你爬出来了
    • 33、人类进化的时候你是躲起来了吗
    • 34、我不是草船,你的箭不要往我这里放
    • 35、你可真是个绝种好男人
    • 36、你家全是南北
    • 37、真羡慕你的皮肤,保养得真厚
    • 38、作为失败的典型,你真的很成功!
    • 39、你怎么长得跟二维码似的不扫一扫都不知道是什么东西
    • 40、脑子舍不得用留着当遗产吗?
    • 41、你瞅你跟个斑马脑袋似的头头是道
    • 42、子不教父之过,你们骂人我的错。
    • 43、亲,这边建议你重新接受九年义务教育呢。
    • 44、公主发病才叫公主病 你那叫野鸡情绪失控综合征
    • 45、你好厉害啊,一定是自己长大的吧
    • 46、有的人出生就在罗马 而有的人天生就是牛马
    • 47、你那么嚣张 是有动物协会保护你吗?
    • 48、不会聊天就不要聊了,我把米撒到键盘上 都啄得比你会说话
    • 49、我小时候被狗咬过,你现在这个样子让我有点害怕
    • 50、骨骼挺惊奇,聊斋第几集?
    • 51、你很会下厨吧,看你挺会添油加醋的
    • 52、你那嘴比那村西头的老太婆剁的辣椒还要碎
    • 53、现在的手机这么智能吗,猪都能拱字了
    • 54、你就是光着屁股推磨 转着圈丢人
    • 55、妹妹几岁了?可曾上过什么学?现吃什么药?
    • 56、你要实在没啥事儿干,来我摩尔庄园给我看大门吧
    • 57、脑子空不要紧,关键是不要进水
    • 58、国家怎么就没拿你的脸皮研究防弹衣
    • 59、你好像蒙娜丽莎的妹妹珍妮玛莎
    • 60、回这么慢,坟头信号不好吗?飞鸽传书都比你快。
    • 61、别人是巴卡玛卡,而你是卡卡
    • 62、“小嘴抹了开塞露似的,老往外喷。”
    • 63、你身材其实挺好,肥而不腻。
    • 64、脑子是个日用品,希望你不要把它当成装饰品。
    • 65、你家是住在八卦图上了吗这么阴阳怪气
    • 66、会说话就好好说 不会说话就跟狗一桌
    • 67、真是面子给多了你都以为自己像个人了
    • 68、东方不亮西方亮 憨逼啥样你啥样
    • 69、你管那么多呢 收粪车从你家门口路过 你都要拿个勺子尝尝咸淡
    • 70、你妈是在高速公路上生你的吗?
    • 71、把你的智商乘以二,数字会变小。
    • 72、你想的比你长的还美。
    • 73、是我近视还是你长得画质低?
    • 74、你是什么牌子的塑料袋,这么能装。
    • 75、我的眼睛不是染缸,装不下你的各种脸色。
    • 76、别跑,脑里的水会洒。
    • 77、你的照片,早上避邪,晚上避孕。
    • 78、任何人工智能都敌不过阁下这款天然呆。
    • 79、年纪轻轻,就知道用脸吓唬人了。
    • 80、认识你之后,我才发现我会以貌取人。
    • 81、一个人长大不容易吧。
    • 82、我只想骂人,但不想骂你。
    • 83、脑袋不用,留着当遗产吗?
    • 84、你很会下厨吧,看你挺会添油加醋的。
    • 85、你打字这么慢,是在查新华字典吗?
    • 86、你是不是阿基米德的后人啊,整天就知道抬杠!
    • 87、如果吼可以解决问题,驴都可以统治世界。
    • 88、上帝把智慧洒满人间,却给你打了个伞。
    • 89、认识的人多了,突然觉得狗也很可爱。
    • 90、你的戏可以像你的钱一样少吗?
    • 91、少吃点盐,看你闲的。
    • 92、真羡慕你,一个人就能吃顿团圆饭。
    • 93、中路拴条狗,狗都比你守的好。
    • 94、百度搜不到你,搜狗一定能搜到。
    • 95、你俩真般配,看来月老的垃圾分类挺到位的。
    • 96、你内张脸真是,长得比盆骨都还标志。
    • 97、做了人类想成仙,生在地上还想上天。
    • 98、真羡慕你的皮肤,保养的这么厚。
    • 99、你长得就和二维码似的,不扫一扫还真不知道是个什么东西。
    • 100、我劝你还是在家好好地呆着,街上是不允许宠物乱跑的。

    笔记收集整理

    数据在内存里以补码的形式存储的原因有三点:
        ·保证了0的唯一性,保证了数的表示的准确性。
        ·让加减可以统一处理,优化了数的运算过程。
        ·解决了自身逻辑意义的完整性。(补码表示的数相加时,如果最高位(符号位)有进位,这个进位会被  舍弃)
        位运算符(&,|,~,<<,>>)
        & 按位与(同时为1,则为1)
        101011
        010011
        --------
        000011
        | 按位或(有一个1,则为1)
        101011
        010011
        --------
        111011
        ~ 按位取反(转补码,取反(含符号位),-1,符号位不变取反)
        ~2
        原码:0 0010
        补码:0 0010
        取反:1 1101
        减一:1 1100
        符号位不变取反: 1 0011 = -3
        eg:(1010)B——>对应的格雷码为:
         1010
        + 1010
        ——————
         11110
        舍弃最后一位,得对应的格雷码为1111。
        下拉异惑(格——>二)
        方法:把格雷码写一遍,下拉第一位,与最后一位异或,
        直至最后一位结束,即可得到的对应的二进制数。
        最后,运算符的优先级
        ·大致按照以下
    -------------线性结构------------
        1.数组  
        2.链表  
        3.栈  
        4.队列  
    -------------非线性结构---------
        5.堆  
        6.树  
        7.图  
        8.散列表
    ---------------------------------
        数组:
        优点:
        元素在地址上连续
        查找元素非常快
        缺点:
        长度不可变,需要在创建时指定
        插入、删除元素效率较低
      
        链表:(单向链表 双向链表 循环链表
        单向链表有一个head(头指针),单向链表每个节点分为两个部分
        data(数据),next/rlink代表下一个地址
        双向链表:有三个空间,pre上一个地址,data数据,next下一个地址
        循环链表:尾指针的下一个地址指向第一个元素
        单向链表头节点插入
        LinkList p=new LNode;//申请空间
        p->data=item;//存入数据
        p->link=list;//让p指向头指针指向的节点
        list=p;//让头指针指向p
        单向链表	尾部插入:
        while(r->link!=NULL){
        	r=r->link;
        }
        Linklist p=new LNode;//申请空间
        p->data=iteml;//存入数据
        p=NULL;
        r->link=p;//r指向的下一个为p
        单向链表删除:
        while(r->link!=q&&r->link!=NULL){
            r->link=q->link;
        }
        free(q);//删除(释放q)
        双向链表插入:
        p->llink=q;//p指向的上一个节点是q
        p->rlink=q->rlink;//p的下一个节点=q指向的的下一个节点
        q->rlink->llink=p;//q指向的下一个节点=q指向的上一个节点是p
        q->rlink=p;//q的下一个节点是q
        双向链表删除:
        q->llink->rlink=q->rlink;
        q->rlink->llink=q->llink;
        free(q)//delete(q);
    
        队列:(先进先出)
        queue<int> q;//队列申请
        q.front()//获取队首元素
        q.push()//入队
        q.pop()//出队首元素
    
        栈:(先进后出)
        stack<int> s;//创建
        s.top()//获取栈顶元素
        s.push()//推入栈
        s.pop()//出栈
    
        字符:
        getchar()  获取单个字符
        putchar()  输出单个字符
        isdigit()  判断是否是数字
        islower()  判断是否是小写
        isupper()  判断是否是大写
        isalpha()  判断字母
        字符数组:
        puts(str) 多个字符存到数组
        gets(str) 输入一整行字符串(包括空格,已弃用)
        fgets(str,100,stdin) 获取一整行 100长度
        strcat(str1, str2); 把str2连接到str1后面
        strcmp(str1, str2); 比较两个字符串,正数: 1大;0: 一样;负数: 2大
        strlen(str); 返回str的长度(不包括\0)
        string字符串:
        =赋值
        +=末尾添加
        +连接字符串
        getline(cin,str) 获取整串字符串
        cin>>str 空格分开
        str.substr(i,2)  获取子串,从i开始,长度为2的子串
        str.find(str2); 在str中查找str2,找着返回第一个下标,没找到返回string::npos -1
        str.rfind(str2); 从右向左找
        str.erase(i, l); 从i开始,删除长度为l的子字符串
        str.insert(i, str2); 在i的位置前,插入str2
        str.size(); 字符串长度
        str.c_str(); 转成char[]
        str.begin(); 首个地址
        str.end(); 尾部地址(最后一个后面的位置)
        reverse(地址1,地址2):
        stoi(str) 把字符串转成数字
        内建函数:
        __builtin_ ffs(x)  返回x中最后一个为1的位置(12-1100)-3位置
        __builtin_popcount(x) x中1的个数(1100) -2
        __builtin_ctz(x) 末尾0的个数(11000) -3
        __builtin_clz(x) 前导0的个数 0000000000000000000000000 01100(28)
        __builtin_parity(x) x中1的奇偶性,1有偶数个返回0,否则返回1
    int bfs(int k){
    queue<int> q;
    q.push(k);
    while(!q.empty()){
    int hand = q.front();
    q.pop();
    if(hand是要找的节点){
    return hand;
    }
    for(head下的所有分支){
    if(满足条件){
    q.push(子结点);
    }
    }
    }
    return 没有找到答案;
    }
        将字符串转成数字: 
    
        1.借用bitset将01字符串变成无符号整数 
    
        string a = "1001"; 
    
        bitset<64> b(string("1001")) 
    
        bitset<64> b(a) 
    
        cout<<b.to\_ulong() 
    
        2.用sscanf() 函数把字符数组里面的字符串打印到数值变量里面 
    
        int buf; 
    
        sscanf("123456","%d",&buf) 
    
        printf("%d\\n",buf) 
    
        3.用sprintf()把数据打印到字符数组里面 
    
        char s[100] 
    
        sprintf(s,"%d",123) 
    
        4.用直接的方式 
    
        string s = "1234"; 
    
        int n = 0; 
    
        for(int i = 0;i<4;i++){ 
    
             n = n\*10+s[i]-'0'; 
    
    } 
    
        5.一般用法 
    
        char buf[512] = ; 
    
        sscanf("123456 ", "%s", buf); 
    
        printf("%s\\n", buf); 
    
        结果为:123456 
    
        1. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。 
    
        sscanf("123456 ", "%4s", buf); 
    
        printf("%s\\n", buf); 
    
        结果为:12342. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。 
    
        sscanf("123456 abcdedf", "%[^ ]", buf); 
    
        printf("%s\\n", buf); 
    
        结果为:123456 
    
        3. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。 
    
        sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf); 
    
        printf("%s\\n", buf); 
    
        结果为:123456abcdedf 
    
        4. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。 
    
        sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf); 
    
        printf("%s\\n", buf); 
    
        结果为:123456abcdedf 
    
        5、给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,先将 "iios/"过滤掉,再将 
    
        非'@'的一串内容送到buf中 
    
        sscanf("iios/12DDWDFF@122", "%\*[^/]/%[^@]", buf); 
    
        printf("%s\\n", buf); 
    
        结果为:12DDWDFF 
    
        6、给定一个字符串"hello, world",仅保留"world"。(注意:“,”之后有一空格) 
    
        sscanf("hello, world", "%\*s%s", buf); 
    
        printf("%s\\n", buf); 
    
        结果为:world  P.S. %\*s表示第一个匹配到的%s被过滤掉,即hello,被过滤了,如果没有空格则结果为NULL
    
        拓扑排序代码结构是:
    1.输入图的节点数和边数
    2.构建邻接表,并维护一个入度节点
    3.使用队列来存储入度为0的节点
    4.处理队列中的节点,更新入度,并将新的入度0节点加入队列.
    //  在C++中,头文件(通常以.h或.hpp为扩展名,但在现代C++中,更常见的是.hpp,以区分C++的头文件和C的头文件)是包含了函数声明、类定义、宏定义等信息的文件。它们可以被多个源文件(.cpp文件)包含和引用,以便共享代码和数据。  // 以下是一些常用的C++标准库头文件以及它们的用途:  //基础部分  #include <iostream> // - 输入输出流库,用于输入输出操作,如cin, cout, cerr等。 #include <fstream> // - 文件流库,用于文件操作,如读写文件。 #include <sstream> // - 字符串流库,用于字符串的输入输出操作。 #include <iomanip> // - 输入输出操纵器库,用于格式化输出。 #include <string> // - 字符串类库,提供了std::string类。 #include <vector> // - 动态数组库,提供了std::vector容器。 #include <map> // - 映射库,提供了std::map容器,用于键值对存储。 #include <set> // - 集合库,提供了std::set容器,用于存储唯一元素的集合。 #include <algorithm> // - 算法库,提供了各种算法函数,如排序、查找等。 #include <numeric> // - 数值算法库,提供了如累加、内积等算法。 #include <iterator> // - 迭代器库,提供了各种迭代器类型和操作。 #include <memory> // - 内存管理库,提供了智能指针等内存管理工具。 #include <utility> // - 实用工具库,提供了std::pair, std::move等工具。 #include <limits> // - 极限值库,定义了数值类型的极限值。 #include <cctype> #include <cmath> #include <cstdlib> // 这些是C标准库的头文件,提供了C语言风格的函数,如字符处理、数学运算、随机数生成和时间处理等。  // 高级部分  #include <thread> // - 线程库,提供了线程创建和管理功能。 #include <mutex> #include <atomic> #include <condition\_variable> // - 并发编程库,提供了互斥锁、原子操作和条件变量等同步机制。 #include <future> #include <chrono> // - 时间库,提供了日期和时间处理功能。 #include <random> // - 随机数生成库,提供了随机数生成器。 #include <array> #include <deque> #include <forward\_list> #include <list> #include <stack> #include <queue> // - 容器库,提供了除向量外的其他标准容器。 #include  <functional> // - 函数对象库,提供了函数包装器、仿函数等。 #include  <type\_traits> // - 类型特性库,提供了类型特性的编译时检查。 #include  <tuple> // - 元组库,提供了元组类型和操作。 #include <optional> #include<variant> #include<any> #include<map> #include<memory\_resource> // - C++17新增的实用工具库,提供了可选值、变体、任意类型支持等。 using namespace std; int w[10001],v[10001]; int dp[1001][1001]; int main() {     int n;     cin>>n;     for (int i=1;i<=n;i++) {         cin>>w[i]>>v[i];     }     for (int i=1;i<=n;i++) {         for (int j=1;j<n;j++) {             dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i]);         }     }     cout<<dp[n];     return 0; } /\*  状态转移方程:  dp[i][j] = min(dp[i][j],dp[i][k]+dp[k+1][j]+sum[j]-sum[i-1])  for()确定区间长度      for确定起点           int j = i+len-1;              for() 确定中间的                  转移  dp[1][n]  \*/
    

    我的梦想是去南山校长办公室当北极熊和企鹅🐧打架

    万能开头

    #include<bits/stdc++.h>
    using namespace std;
    
    int main(){
    
         return 0;
    
    }
    

    普通开头

    #include<iostream>
    using namespace std;
    
    int main(){
        
         return 0;
    
    }
    

    小知识

    #include <iostream>:提供输入输出功能。
    #include <cmath>(或#include <math.h>):提供数学计算功能。
    #include <vector>:提供向量容器的功能。 #include <string>:提供字符串操作功能。
    #include <bits/stdc++.h> : 以上功能均能实现
    
           (  注:以上只是部分,不是全部。)
    
  • 最近活动