所有人猛锤自己魔丸二十下,这是命令!
一下,两下,三下······十九下,我的手断了,长官!~

优雅骂人语录:(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> : 以上功能均能实现
( 注:以上只是部分,不是全部。)