C/C++
文章平均质量分 72
六月陌
这个作者很懒,什么都没留下…
展开
-
VScode 快速插入代码片段
VScode 快速插入代码片段只需要在设置里编辑Snippets就行了按 Ctrl + Shift + P 能快速搜索 —> 输入 Snippets 按回车进行设置选择你需要的编程语言(它是根据你文件的扩展名确定使用哪些快速插入)你可以在不同的语言里使用相同的指令插入不同的代码在这里我选择的C++,他会自动给你创建一个cpp.json通过编辑cpp.json就行完成设置{ // Place your snippets for c here. Each snippet is def原创 2021-06-07 18:46:27 · 1911 阅读 · 1 评论 -
memset函数详解
memset函数详解memset函数为初始化函数,可以将一段连续的内存初始化为某个值。但它是以字节为单位进行初始化的。memset函数的一般使用格式为memset(首地址,值,sizeof(地址总大小));比如对数组a赋值memset(a,0,sizeof(a));重点memset以字节为单位进行初始化,这句话是什么意思呢?就是说它进行初始化时并不关心你要初始化的数组是什么类型的,它均以字节为单位进行初始化。比如你的数组是int型的。int为4字节。但是memset以字节进行初始化m原创 2021-06-05 14:16:40 · 54844 阅读 · 0 评论 -
树状数组专题(附题解)
文章目录树状数组专题(附题解)题目列表敌兵布阵Color the ballMatrixCounting BlackUltra-QuickSortJapanA Simple Problem with Integers树状数组专题(附题解)题目列表题目链接(Vjudge专题)敌兵布阵 来源HDU 1166Color the ball 来源HDU 1556MatrixCounting BlackUltra-QuickSortJapanA Simple Problem with Inte原创 2021-05-15 13:09:58 · 844 阅读 · 2 评论 -
[POJ - 2299] Ultra-QuickSort 树状数组
POJ - 2299Ultra-QuickSortTime Limit: 7000MS Memory Limit: 65536KTotal Submissions: 87481 Accepted: 32735DescriptionIn this problem, you have to analyze a particular sorting原创 2021-05-01 17:03:48 · 254 阅读 · 0 评论 -
Codeforces Round #717 (Div.2 )
Codeforces Round #717 (Div.2 )2021/04/21https://codeforces.com/contest/1516 A. Tit for Tattime limit per test : 1 secondmemory limit per test : 256 megabytesinput : standard inputoutput : standard output题目描述Given an array a of length n, you ca原创 2021-04-22 11:32:01 · 543 阅读 · 0 评论 -
gcd与快速gcd
GCD与快速GCD求最大公约数有两种方法:更相减损术和辗转相除法。转转相除法欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。通过递归实现int gcd(int a, int b){ return b == 0 ? a : gcd( b, a % b);} 通过循环实现int gcd(int x, int y){ if (!x || !y) return原创 2021-03-31 18:08:06 · 1598 阅读 · 0 评论 -
PTA 栈和队列练习
PTA 栈和队列练习7-1 堆栈模拟队列 (50分)题目描述设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0;int IsEmpty (Stack S):判断堆栈S是否为空,返回1或0;void Push(Stack S, ElementType item):将元素item压入堆栈S;ElementType Pop(Stack S):删除并返回S的栈顶原创 2020-11-15 10:44:35 · 719 阅读 · 0 评论 -
PTA 线性表练习(数据结构与算法)
PTA 线性表练习7-1 求链式线性表的倒数第K项 (50point(s))题目描述给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例4 1 2 3 4 5 6 7 8 9 0 -1输出样例7Code#include <iostream>#inc原创 2020-10-26 20:22:56 · 1130 阅读 · 0 评论 -
VScode User Snippets template
VScode User Snippets Template设置方法File -> Preferences -> User Snippets -> cpp.jsonTemplate{ // Place your snippets for cpp here. Each snippet is defined under a snippet name and has a prefix, body and // description. The prefix is what is us原创 2020-10-26 19:44:20 · 184 阅读 · 0 评论 -
关于cmath中pow()函数 的谜之bug有好兄弟解答解答吗?球球了
今天在做题的时候用到了cmath库中的pow()函数;结果和我的预料出现了很大的偏差这一段部分代码 string row = "AA"; int row_num = 0; for(int i=0,len = row.length();i<len;i++) { row_num += ((row[i]-'A'+1)*pow(26,(len-1-i))); }我原以为最后row_num的值为27,但结果是26 。为了知道哪里出错了我就把中间值输出,之原创 2020-09-09 18:54:21 · 1312 阅读 · 6 评论 -
Codeforces Round #664 (Div. 2) ABC 题解
Codeforces Round #664 (Div. 2) time : 2020/08/14链接 A. Boboniu Likes to Color Balls time limit per test : 1 secondmemory limit per test : 256 megabytesinput : standard inputoutput : standard output题目描述Boboniu gives your red balls,g green b原创 2020-08-14 20:06:28 · 407 阅读 · 0 评论 -
Bicoloring (并查集/二分图) (并查集方法有缺陷)
看到有篇Bicoloring的题解很多人转载,但是我发现这里面是有错误的,所以今天写出来提醒大家。题目地址:Bicoloring原创 2020-08-10 13:40:15 · 243 阅读 · 0 评论 -
C++课程设计之快件管理系统
面向对象程序课程设计任务书【题目】快件管理系统【目的】通过设计一个小型的快件管理系统,训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念,使自己的程序设计与调试水平有一个明显的提高。【要求】1、每个学生必须独立完成;2、课程设计时间为1周;3、设计语言采用C++;4、学生有事离校必须请假。课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,未按规定上交实验报告的学生,其成绩按不及格处理。【内容简介】有一个快递服务代收点,现在需要你为这个服务代收点开发一个简单的快.原创 2020-08-09 10:38:59 · 9823 阅读 · 11 评论 -
统计难题(map)
这明明是一道字典树的题,我却被这段代码秀翻了。他怎么可以这么简单。如果用字典树的话代码量是这个的好几倍呢。主要思路就是每读入一个单词就把他所有的前缀存在map里,到时后直接输出就行了,是不是很方便啊!!![HDU 1251]统计难题 ** 统计难题 **time limit per test : 1 secondmemory limit per test : 256 megabytesinput : standard inputoutput : standard output题目描述Ign原创 2020-08-05 10:33:26 · 165 阅读 · 1 评论 -
【图论基础】 图的表示(邻接矩阵、邻接表、链式前向星)
【图论基础】 图的表示邻接矩阵 #define DATASIZE 1e3int map[DATASIZE][DATASIZE];memset(map,0,sizeof(map)); //初始化for(int i=0;i<m;i++){ int u,v; scanf("%d%d",&u,&v); //读入每条边。有边为1 无边为0 map[u][v] = 1; map[v][u] = 1;}//遍历每条边for(int i=0原创 2020-07-26 16:59:04 · 188 阅读 · 0 评论 -
【算法专题】拓扑排序入门
拓扑排序介绍对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通俗讲就是按照若干个a必须在b前这样的规则将一组数据排序我觉得拓扑排序是一种结果而不是一个过程。他不想冒牌排序、选择排序那种直接给出了排序的操作步骤,拓扑排序只是给出了排序的结果(对排序的要求),并没有给出排序的操作步骤。可以使用拓扑排序来判断图中有没有环拓扑排序的方原创 2020-07-25 14:01:43 · 166 阅读 · 0 评论 -
[染色法] 二分图de判定
染色法判定二分图通过递归对各个点逐一染色,判断是否是二分图 。基本代码#include <iostream>#include <cstring>#include <vector>const int MAXSIZE = 1e5+5;int color[MAXSIZE]; // 储存每个点的染色情况 0 表示未染色, 1和2 分别表示两种不同的颜色vector<int> G[MAXSIZE]; // 储存每个点相连的所有点原创 2020-07-23 14:32:35 · 133 阅读 · 0 评论 -
[算法专题] 并查集入门
今天学习了新的算法——并查集,感觉还挺好用。并查集介绍并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。有n各元素的集合问题中,我们要将他们按照一定的法则分成若干组,并且还要查寻任意两个元素在不在同一组。基本思路是:先把这n各元素每个元素单独一组,然后按照一定的顺序把属于同一组的元素合并,最后的都若干个集合。对于并查集通常来说,我们用根节点来表示一个集合。当元素过多时查询时间可能会长,这是需要用路径压缩,让统一集合中的每个元素父节点都指向根节点。原创 2020-07-23 09:51:34 · 193 阅读 · 0 评论 -
2019 Multi-University Training Contest 1 题解
2019 Multi-University Training Contest 1题目[6581] Vacation思路如果你的车要到达停车线,那么前面一辆车的车尾至少要越过停车线,此时前一辆车对你就没有任何影响了(因为题中说了只要车头越过停车线便算通过),以此类推当所有车辆到达如下位置时,便可当成最终状态。当车辆超过此位置时对结果没有任何影响,当车辆未达到此位置时那最后一辆车(也就是你)便无法到达停车线。对于任意的第 i 辆车,假设它到达正确位置的时间为ti,那么对于第 i+1 辆车越过停车原创 2020-05-16 15:48:35 · 244 阅读 · 0 评论 -
二分/三分算法
二分、三分算法二分二分是在一个单调有序的集合中查找一个解,因为每次查找将舍弃一半的空间,因此效率很高i。三分三分算法用于求解单峰函数的极值问题。例题1二分题目:Monthly Expense地址:POJ3273思路:答案一定是a[i]中最大的数到a[i]的总和之间的某个数。二分查找符合题意的最小结果即可查找范围【max(a[i]),sum(a[i])】 符合题意的条件:分为每组不超过t的组数不多与题目要求的组数Code#include <iostream>using原创 2020-05-15 21:37:07 · 462 阅读 · 0 评论 -
C++ String类 总结
C++ String类 总结cplusplus中关于string的官方文档 std::stringstring类的构造函数构造函数或析构函数介绍string str; //定义一个string的空字符串string s(str); //将str的值赋值给sstring s(str,index); //将str中从index位置开始赋值给sstring s(str,intex...原创 2020-04-15 12:39:38 · 368 阅读 · 0 评论 -
C++ 第一次实验课
第一次 实验代码#include <iostream>#include <string>#define Author JokerNoCry#define Date 2020/4/13using namespace std;class Person{private: string Name, Sex, Age;public: void SetDat...原创 2020-04-13 11:28:07 · 309 阅读 · 0 评论 -
01背包问题 详细分析
背包容量为V,有n件物品,每件物品体积v[i],价值c[i],问如何装使背包总价值最大。原创 2020-04-05 16:47:21 · 603 阅读 · 0 评论 -
ZSTU 我的编程之路 题解
零基础学C/C++零基础学C/C++199——孪生素数题目描述在素数的大家庭中,大小相差为2的两个素数称之为一对“孪生素数”,如3和5、17和19等。请你编程统计出不大于自然数n的素数中,孪生素数的对数。输入一行一个正整数n , 1 <=n <= 10000输出若干行,每行2个整数,之间用一个空格隔开,从小到大输出每一对孪生素数#include <stdio.h&...原创 2019-11-28 22:38:07 · 7947 阅读 · 0 评论 -
Codeforces Round #604 (Div.2)
Codeforces Round #604 (Div.2)2019/12/5 22:35——2019/12/6 00:35这是我经历了多次掉分之后的第一次上分,是个好兆头。虽然只有区区16分,但是见到情况有些好转,看到这么多天的努力没有白费,心里感觉还是很开心呢。Codeforces Round #604 (Div.2) A. Beautiful Stringtime ...原创 2019-12-06 09:24:44 · 522 阅读 · 2 评论 -
2019年安徽大学ACM/ICPC实验室新生赛题解
本文仅作个人收藏学习使用题目及解析来源牛客竞赛网//作者:王清楚//链接:https://ac.nowcoder.com/discuss/351408?type=101&order=0&pos=7&page=1//来源:牛客网2019年安徽大学ACM/ICPC实验室新生赛(含题解)2019-12-01 14:00:00 至 2019-12-01 18:00:...原创 2019-12-04 23:18:54 · 1762 阅读 · 0 评论 -
牛客 | C 选择颜色
牛客IOI赛制测试赛 2019-12-04 18:00:00 至 2019-12-04 21:30:00原创 2019-12-04 20:42:45 · 669 阅读 · 0 评论 -
Codeforces Round #499 (Div. 2)
Codeforces Round #499 (Div. 2)2019/11/30 (周六) 第一次训练赛链接:Codeforces Round #499 (Div. 2)原创 2019-11-30 16:29:51 · 164 阅读 · 0 评论 -
算法入门 | 初出茅庐——初级篇
穷竭搜索即所谓的暴力,是将所有的可能性罗列出来,在其中寻找答案的方法。但是暴力搜索也有一定的技巧性,这里我们主要介绍深度优先搜索(dfs)和广度优先搜索(bfs),这是ACM竞赛中很基础,很常用算法。原创 2019-11-29 19:36:31 · 408 阅读 · 0 评论