自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 sscanf与sprintf详解及常见用法

sprintf函数原型int sprintf(char *str,const char *format,…)作用:格式化字符串将数字变量转化成字符串变量得到整形变量的16和8进制连接多个字符串1 char str[256]; 2 int data = 1024; 3 //将data转换为字符串 4 sprintf(str,"%d",data); 5 //获取data的十六进制 6 sprintf(str,"0x%X",dat

2021-01-19 20:59:43 6

转载 由数据范围反推算法复杂度以及算法内容

2021-01-15 11:17:49 1

原创 1084 Broken Keyboard (20分)

传送门题目大意:给出两个字符串,要求以大写形式输出坏掉的键分析:遍历输入的第一个字符串,用find()函数判断s1中字符是否在s2中存在,如果不存在则以大写形式存入string s3中。ps:find()如果查找不到,返回string::npos。int toupper(int ch); 返回int类型,用cout <<(char)ch;强制转换未char型。代码1:#include<bits/stdc++.h>using namespace std;int

2020-12-24 00:02:00 19

原创 猴博士数字电路资源(数字逻辑与数字系统设计)

链接:https://pan.baidu.com/s/1Zq08zVqoDoUsnNqv3E_-Eg提取码:u3ju复制这段内容后打开百度网盘手机App,操作更方便哦

2020-12-10 20:24:37 1577 5

原创 PAT1076 Wifi密码 (15分)

下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1 个正确答案。输入格式:输入第一行给出一个正整数N(<= 100),随后N行,每行按照“编号-答案”

2020-11-27 23:58:00 17

转载 interface声明接口用什么修饰

当我给接口添加final修饰符时显示错误信息Illegal modifier for the interface InterfaceTest; only public & abstract are permitted即接口只能被public,abstract修饰符修饰,接口被设计的目的主要就是为了被继承,final修饰类却是表名该类不能被继承,所以用final修饰接口是无意义的给接口内的方法添加final修饰符时显示错误信息Illegal modifier for the interface

2020-11-24 23:20:32 117

原创 PTA1090 危险品装箱 (25分)详解

传送门1090 危险品装箱 (25分)详解数据:6 320001 2000220003 2000420005 2000620003 2000120005 2000420004 20006本题分析:题目的关键在于如何解决编号不相容问题,由以上数据可知,20003与20004和20001都不相容.此时我们可以用:map<int,vector<int>>mp;//用于存放一对多的关系2.难点分析//此处循环是难点,第一个for循环是为了遍历G[i],第二

2020-11-17 19:32:22 48

原创 JAVA实现多线程的方法

文章目录线程的注意事项:思维导图1.继承Thread类小结:2.创建一个线程类实现Runnable接口小结:3.补充:线程的注意事项:1.线程的启动必须调用start()方法,否则会被当成普通类处理----如果直接调用run()方法,相当于变成了普通类的执行,此时将只有主线程执行----start()方法底层其实是给CPU注册当前线程,并触发run()方法执行2.建议线程先创建子线程,主线程的任务放在后面—如果放在主线程的任务之后,只有当主线程的任务执行完后,才执行子线程无法实现多线程思维导

2020-10-28 22:39:19 14

原创 单链表的建立

#include<bits/stdc++.h>using namespace std;typedef struct Node { int data; struct Node *next;} Node, *LinkList;LinkList InitList(LinkList L) { //初始化一个带头结点的单链表 L = (LinkList)malloc(sizeof(Node)); if(L == NULL) { cout <&

2020-10-24 16:14:22 32

原创 线性表的顺序存储结构创建

线性表的顺序存储结构定义: 指的是用一段地址连续的存储单元依次存储线性表的数据元素.优点:无需为表示表中元素之间逻辑关系而增加额外存储空间可快速存取表中任意一个位置的元素值缺点:插入和删除需要移动大量元素当线性表长度变化较大时,难以确定存储空间的容量造成存取空间的碎片插入算法思路:判断i值是否正确判断顺序表是否已满从后向前到第i个位置,依次向后移一位将第i个位置赋值为e,length++int ListInsert(SqList *L, int i, ElemType e

2020-10-23 21:09:41 38

原创 HNOI2003激光炸弹(二维前缀和)

我们要求一个矩阵内一个任意的子矩阵的数的和,我们就可以用二维前缀和。二位前缀和:map[i][j]=map[i][j-1]+map[i-1][j]-map[i-1][j-1]+map[i][j];(x1,y1)到(x2,y2)的和:map[x2][y2]-map[x2][y1]-map[x1][y2]+map[x1][y1](不包含矩阵边时)map[x2][y2]-map[x2][y1-1]-map[x1-1][y2]+map[x1-1][y1-1](包含矩阵边时)、题解:本

2020-09-25 11:51:00 6

原创 牛客小白月赛28场

添加链接描述A题:1. 费马小定理:若a为质数,且a,p互质,则a^(p-1)%p=1%p, 转化为a^(p-2)%p=1/a%p ,求分数取模。快速幂取模模板:ll Mod(ll x, ll y) { ll ans = 1; while(y) { if(y & 1) ans = (ans * x) % mod; x = x * x % mod; y /= 2; } return a

2020-09-21 20:42:00 16 3

原创 P3799 妖梦拼木棒 题解(暴力,数学)

添加链接描述题意:在给出的n个不同长度中,选4根组成一个正三边形。思路:可必有两根相等,假设a=b>c>=d,暴力枚举a,c。分两种情况:1. c==d,for(int i = 2; i <= max1 ; i++) for(int j = 1; j <= i / 2; j++) { if(i == j * 2 && a[i] >= 2 && a[j] >= 2)

2020-09-18 15:12:04 22

原创 BFS习题

FDDDDDDDDDDDDDDDDDDD

2020-09-12 11:29:21 14

转载 c++产生不重复随机数方法

要产生乱序的随机数字,正面来解决特别的复杂。反过来思考,假设要生成0-99,100个随机数字,且不重复。那么就相当于我们先顺序生成0-99这样一个数组,然后随机打乱就可以了解决方法1int main(void){ vector<int> numbres; for(int i = 0;i<100;i++) { numbres.push_back(i); } std::random_shuffle(numbres.begin(),nu

2020-08-30 15:02:58 723

原创 并查集模板

在递归过程中,将整个路径上的元素所属的集都改为根节点

2020-08-19 14:43:31 26

原创 尺取法判断回文字符串

substr(start, length)方法:返回一个从指定位置开始,并具有指定长度的子字符串。参数:1.start:必选。所需的子字符串的起始位置。字符串中第一个字符的索引为 0。2.length:可选项。返回的子字符串中包含的字符数。#include <bits/stdc++.h>using namespace std;int main(){ int n; cin >> n; //n是测试用例个数.

2020-08-10 21:39:34 27

原创 2020牛客多校第五场D题

传送门题目描述:给定一个n个数的序列,你可以对序列进行两种操作操作1:将当前序列的倒数第二个元素放置在序列首部,即a1,a2,a3,aN变为a1,an-1,a2,a3,aN操作2:将当前序列的首部元素放置在序列尾部:即a1,a2,a3,aN变为a2,a3,aN,a1操作2不限次数,不算操作,连续的多次进行操作1被视为一次操作,问最少需要多少次操作可以将序列转换为上升序列思路:可以把这个序列看成一个环,操作2可以理解成转动这个环,对当前序列元素的相对位置并无影响,由操作2我们可以得到该序列的n种

2020-08-01 20:05:16 58

原创 2020牛客多校第六场C题

传送门题意:给你一个n×m的矩阵,让你求去掉某些行和某些列后(可以不去行或列),矩阵内所有值的和/最后一行的和最大思路: a/b<(a+c)/(b+d)<c/d( 单列一定大于多列) 所以只要找到每列最大即可代码:#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int a[210][210];int main(){ io

2020-07-29 22:39:42 40

原创 2020牛客竞赛E题

传送门题解:首先如果要有解,k必须是n(n+1)/2 % n,因为长度为n 的子区间只有一个,也就是P 本身,而P 本身的元素和就是n(n+1)/2。然后假设k 满足上述条件,此时是一定有解的。如果n 是奇数,可知k=0,令P = {n, 1, n-1, 2, n-2, …} 即可;如果n是偶数,可知k=n/2,令P = {n, n/2, 1, n-1, 2, n-2, …} 即可。#include<iostream>#include<cstdio>using names

2020-07-29 11:49:37 73

原创 2020牛客竞赛b题

传送门本题主要在于函数公式的理解:想要让gcd(i,x)尽可能多。当嵌套层数最多时即为x的质因数个数。步骤:求n的质因数个数:算术基本定理,又称为正整数的唯一分解定理,即:每个大于1的自然数均可写为质数的积,而且这些素因子按大小排列之后写法仅有一种方式。:一个数的质因子不会超过这个数的算数平方根。 for(int i=2;i*i<=n;i++) { while(n%i==0) {

2020-07-28 14:11:00 42

原创 P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two

链接:传送门题目描述两只牛逃跑到了森林里。Farmer John 开始用他的专家技术追捕这两头牛。你的任务是模拟他们的行为(牛和 John)。追击在 10 \times 1010×10 的平面网格内进行。一个格子可以是:一个障碍物,两头牛(它们总在一起),或者 Farmer John。两头牛和 Farmer John 可以在同一个格子内(当他们相遇时),但是他们都不能进入有障碍的格子。一个格子可以是:. 空地;障碍物;C 两头牛;F Farmer John。这里有一个地图的例子:…

2020-07-27 22:22:56 32

原创 阶乘之和

本题采用高精度加法和高精度乘法混合

2020-07-16 17:20:22 46

原创 高精度(加减乘)--除法待补充

文章目录1.目的:2.加:3. 减:3.1整体代码:4.乘:1.目的:有时候处理非常大的数字时怎么办呢?这个时候就需要高精度算法,用字符串模拟整数运算。2.加:#include<iostream>#include<string>using namespace std;int a[500], b[500];//数组大小决定数字长度int main(){ string str1, str2; cin >> str1 >> str2; int

2020-07-15 15:59:37 23

原创 牛客网j题(快速幂取模&&阶乘处理&&贝塔函数&&费马定理)

dddd

2020-07-13 22:36:48 70 1

原创 简单模拟----字符串的展开

本次收获:巧妙运用三目运算符进行代码简化链接#include<iostream>#include<string>#include<cstdio>using namespace std;int p1,p2,p3,j;string str;int main(){ cin>>p1>>p2>>p3>>str; cout<<str[0]; for(int i=1;i<st

2020-07-10 22:02:07 45

原创 简单模拟

洛谷多项式输出题目注意事项1.系数为12. 0时判断3. 次方#include<iostream>#include<cmath>using namespace std;int main(){ int n,m; cin>>n; for(int i=n;i>0;i--) { cin>>m; if(m)//判断0 { if

2020-07-07 22:34:10 35

原创 D - Pie(实数二分)(最小值最大化)

我的生日快到了,传统上我在做馅饼。不只是一个馅饼,不,我有N个,口味各异,大小各异。我的F个朋友来参加我的聚会,他们每个人都得到一块馅饼。这应该是一块一块,而不是几个小块,因为看起来很乱。虽然这块可以是一个整体。我的朋友很烦人,如果其中一个比其他人得到更大的回报,他们就会开始抱怨。因此,即使它们导致一些派变质(比破坏党派更好),它们也应均等大小(但不一定相等)。当然,我也想为自己准备一块馅饼,并且该块也应具有相同的大小。我们所有人都能得到的最大单件尺寸是多少?所有的饼都是圆柱形的,并且高度都相同1,但是

2020-05-20 21:51:15 92

原创 修路问题(最大值极小化,二分法)

修路(链接呦)题目:前段时间,某省发生干旱,B山区的居民缺乏生活用水,现在需要从A城市修一条通往B山区的路。假设有A城市通往B山区的路由m条连续的路段组成, 现在将这m条路段承包给n个工程队(n ≤ m ≤ 300)。为了修路的便利,每个工程队只能分配到连续的若干条路段(当然也可能只分配到一条路段或未分配到路段)。 假设每个工程队修路的效率一样,即每修长度为1的路段所需的时间为1。现在给出路段的数量m,工程队的数量n, 以及m条路段的长度(这m条路段的长度是按照从A城市往B山区的方向依次给出,每条路段的

2020-05-11 23:35:31 74

原创 # ACboy needs your help again!

链接点开#include#include#include#include#includeusing namespace std;int main(){int n,m,x,y;char a[10],b[10],c[10];scanf("%d",&n);while(n--){ stack<int>s;//每次循环都要定义,不可放在while后面 ...

2020-05-05 00:04:07 29

第1讲 C++实用技巧与STL.ppt

在本章将介绍各种各样实用提高我们编程效率的小技巧和模板库。其中绝大多数依靠c++自带类和函数实现。希望对你们能提供帮助,加油少年。

2020-05-07

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除