• 个人简介
  • 通过的题目
  • 最近活动
  • 最近编写的题解

反极域电子教室代码

#include<bits/stdc++.h>
#include <windows.gh>
using namespace std;
void movexy(short x, short y){
    COORD position={x, y};
    HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hOut, position);
}
int main(){
    movexy(37, 7);
    cout<<"反电子教室系统"<<endl;
    cout<<endl;
    cout<<"                                     目前可以反击:"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
    cout<<"                      红蜘蛛多媒体网络教室 - 输入 k-rs即可反击"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
    cout<<"                              极域电子教室 - 输入 k-jy即可反击"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
    cout<<"                          伽卡他卡电子教室 - 输入 k-yk即可反击"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
    cout<<"                                  如果在开启本程序后关闭本程序,"<<endl;
    cout<<"                                        本次反击将无效!"<<endl;
    cout<<"    input >>> ";
    string s;
    cin>>s;
    if(s=="k-rs"){
        system("cls");
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
        cout<<"                                  红蜘蛛反击系统启动成功"<<endl;
        Sleep(1000);
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
        while(1)
        {
            system("taskkill /f /t /im REDAgent.exe");
            system("cls");
        }
    }
    if(s=="k-jy"){
        system("cls");
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
        cout<<"                                  极域反击系统启动成功"<<endl;
        Sleep(1000);
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
        while(1)
        {
            system("taskkill /f /t /im StudentMain.exe");
            system("cls");
        }
    }
    if(s=="k-yk"){
        system("cls");
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
        cout<<"                                  伽卡他卡反击系统启动成功"<<endl;
        Sleep(1000);
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
        while(1){
            system("taskkill /f /t /im Student.exe");
            system("cls");
        }
    } 
    return 0;
}

map(键值对)笔记

#include <bits/stdc++.h>
using namespace std;
int main(){	
	map<int,int> m;//创建键值对 
	//键类型,值类型 
	m[1]=2;//插入键为1,值为2,如果存在键为1的键值对,将键为1的值修改为2 	
	m[1]++;	
	cout << m[1] << endl;
	cout << m.count(3) << endl; //如果存在键为3的键值对,返回1,否则返回0 
	cout << m.size() << endl; //返回键值对的数量 
	m.erase(1);//删除键为1的键值对 
	m.insert({1,3});//插入键值对1-3
	m[5]=6;
	m[2]=4; 	
	//会自动将键值对按照键的升序排序(如果键是字符串,按照字典序排序) 
	for(auto it:m){
		cout<<it.first<<" ";//first表示键 
		cout<<it.second<<endl;//second表示值 
	}
	//要加-std=c++11
	//键值对中键是唯一的,值是不唯一的
	//插入,删除,修改的时间复杂度都是O(log(n)) 
	return 0;
}

原码,反码,补码之间的转换

数据是以二进制的形式存放的
以补码的形式存放

正数
9
0000 1001 原码 = 反码 = 补码

负数
-9
1000 1001 原码 
1111 0110 反码 = 原码除了符号位取反/补码-1 
1111 0111 补码 = 反码+1
补码的作用:简化整数加减法的运算
举例:
  10-9:
  	0000 1010  (10的补码) 
  +	1111 0111  (-9的补码)
  ----------------
  	0000 0001   (1的补码)

十进制小数转二进制小数

口诀: 乘2取整,正序排列

0.25 转为二进制小数
0.25*2=0.5  取整整数 0
0.5*2=1     取整整数 1
正序排列 0.01 

二进制小数转十进制

举例:
  0 . a b c
  0 . a*1/2的1次方 + b*1/2的2次方 + c*1/2的3次方 

不同类型的数据范围

1Byte = 8bit
关键词         二进制bit       字节Byte
bool          8               1
char          8               1
short         16              2
int           32              4
long long     64              8
float         32              4
double        64              8

无符号整数 string a.size()的返回值是无符号整

unsigned int 全部表示正数 范围是 0 ~ 23212^{32}-1

unsigned long long 全部表示正数 范围是 0 ~ 26412^{64}-1

对于有符号数:

正数的最大值:2位数11 2^{位数-1}-1

负数的最小值:2位数1 -2^{位数-1}

负数会比正数多一个

二叉堆基本操作


二叉堆(优先队列priority_queue)
父<子:小顶堆 
父>子:大顶堆

插入的时间复杂度:O(log(n))
删除的时间复杂度:O(log(n))
查询最值的时间复杂度:O(1)

 
	创建一个二叉堆
	priority_queue<int,vector<int>,greater<int> > small;//小顶堆
	priority_queue<int,vector<int>,less<int> > big;//大顶堆
	堆名.push(元素);//插入元素
	堆名.pop();//删除堆顶
	堆名.top();//返回堆顶
	堆名.size();//返回二叉堆的大小
	堆名.empty();//如果二叉堆为空返回1,否则返回0 
This person is lazy and didn't write any solutions.

题目标签

数据结构
7
4
驾轻就熟
3
单调队列
3
心领神会
2
队列
2
模拟
1
计数排序
1
双端队列
1
树状数组
1
线段树
1