自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(315)
  • 收藏
  • 关注

原创 C/S模型

server.c#include <stdio.h>#include <string.h>#include <stdlib.h>#include <strings.h>#include <sys/types.h>#include <pthread.h>void* fun(void *arg);int main(){//创建监听套接字 int sockfd=socket(AF_INET,SOCK_STREAM,0);

2021-07-03 10:44:01 271

原创 栈模板--实现数据的逆序输出

#include<iostream>#include<stack>using namespace std;int n=10;int main(){ stack<int>s; int a[]={1,2,3,4,5,6,7,8,9,10}; for(int i=0;i<10;i++){ s.push(a[i]); } for(int i=0;i<10;i++){ printf("%d ",s.top()); s.pop(); .

2021-01-08 17:10:35 935

原创 模式匹配--KMP算法

问题:输入一个字符串,然后输入一个字符串的子串,将第一次出现的子串删除,输出新的字符串,具体见示例.sample1 inputABCDEFG CDEsample1 outputABCDEFG-CDE=ABFGsample2 input123456723672sample2 output123456723-672=123453思路一:穷举搜索,直接从第一个主串元素开始匹配,朴素版本的kmp算法,时间复杂度O(lstr*lstrsub);#include<stdio.h&

2021-01-07 20:28:13 235

原创 Vigenère密码--计蒜客--题解

题目要求:16 世纪法国外交家 Blaise de Vigenère 设计了一种多表密码加密算法——Vigenère 密码。Vigenère 密码的加密解密算法简单易用,且破译难度比较高,曾在美国南北战争中为南军所广泛使用。在密码学中,我们称需要加密的信息为明文,用 M 表示;称加密后的信息为密文,用 C 表示;而密钥是一种参数,是将明文转换为密文或将密文转换为明文的算法中输入的数据,记为kk。 在 Vigenère 密码中,密钥kk是一个字母串,k=k1k2…knk=k1k2…kn。当明文M...

2021-01-02 11:21:49 237

原创 操作系统OS--周转时间和带权周转时间

周转时间=作业完成时刻—作业到达时刻;带权周转时间=周转时间/服务时间;平均周转时间=作业周转总时间/作业个数;平均带权周转时间=带权周转总时间/作业个数;例:有4个进程A,B,C,D,设它们依次进入就绪队列,因相差时间很短可视为同时到达。4个进程按轮转法分别运行11,7,2,和4个时间单位,设时间片为1。四个进程的平均周转时间为多少?解析:由于是视为同时到达,则到达时刻均为0;根据进程轮换法可知(时间片为1):周转时间为:A:24;B:20 ; C:7; D:14A的带权周

2020-06-08 09:40:14 5603

原创 计算机网络--比较栏--三种交换的优缺点

题目:比较电路交换、报文交换、分组交换的主要优缺点答:见下表: 优点 缺点 电路交换 (1).信息的传输时延小,且对一次接续而言,传输时延固定不变; (2).交换机对用户的数据信息不存储、分析和处理传用户数据信息时不必附加许多控制信息,交换机在处理方面的开销比较小信息传输效率比较高; (3).信息的编码方法和信息格式由通信双方协调,不受网络的...

2020-06-03 08:33:06 3181

原创 SQL练习--成绩管理系统--from实验楼

介绍现需要构建一个简易的成绩管理系统的数据库,来记录几门课程的学生成绩。数据库中有三张表分别用于记录学生信息、课程信息和成绩信息。数据表结构如下:学生表(student):学生 id 、学生姓名和性别课程表:课程 id 和课程名成绩表:成绩 id 、学生 id 、课程 id 和分数服务器中的 MySQL 还没有启动,请注意 MySQL 的 root 账户默认密码为空。目标1.MySQL 服务处于运行状态2.新建数据库的名称为 gradesystem3.gr

2020-06-02 19:15:55 411

原创 HDU--4548--美素数

小明对数的研究比较热爱,一谈到数,脑子里就涌现出好多数的问题,今天,小明想考考你对素数的认识。问题是这样的:一个十进制数,如果是素数,而且它的各位数字和也是素数,则称之为“美素数”,如29,本身是素数,而且2+9 = 11也是素数,所以它是美素数。给定一个区间,你能计算出这个区间内有多少个美素数吗?Input第一行输入一个正整数T,表示总共有T组数据(T <= 10000)。接下来共T行,每行输入两个整数L,R(1<= L <= R <= 1000000),表示区间的左值

2020-05-23 20:08:38 296

原创 UVA--191--计算几何--判断线段交点--入坑

You are to write a program that has to decide whether a givenline segment intersects a given rectangle.An example:line: start point: (4,9)end point: (11,2)rectangle: left-top: (1,5)right-bottom: (7,1)The line is said to intersect the rectangle if t.

2020-05-19 20:39:39 212

原创 ZOJ--1648--计算几何--判断线段交点--没坑

On the circuit board, there are lots of circuit paths. We know the basic constrain is that no two path cross each other, for otherwise the board will be burned.Now given a circuit diagram, your task is to lookup if there are some crossed paths. If not fin

2020-05-19 20:34:37 256

原创 计蒜客--T1556--二分

头君手上有个长度为nn的数组AA。由于数组实在太大了,所以蒜头君也不知道数组里面有什么数字,所以蒜头君会经常询问在数组AA中,比xx小的最大值是多大?但是这次蒜头君要求这个数字必须小于xx,不能等于xx。输入格式第一行输入两个整数nn和mm,分别表示数组的长度和查询的次数。接下来一行有nn个整数aiai。接下来mm行,每行有11个整数xx,表示蒜头君询问的整数。输出格式对于每次查询,如果可以找到,输出这个整数。否则输出−1−1。数据范...

2020-05-19 07:27:37 853

原创 51Nod --1951--计算几何--并查集--难度大

现在有N条公路,编号从1到N,每条公路是一条线段,用两个端点表示一条公路。如果两条公路之间有交点那么这两条公路可以互通,互通具有传递性,比如A和B互通,B和C互通,那么A就和C互通。现在给出每条公路的信息以及若干个查询,查询某两条公路之间是否互通。Input单组测试数据。 第一行有一个整数N(1 < N < 15),表示公路的数目。 接下来N行,依次给出编号1到N的公路信息,每行给出4个整数xa,ya,xb, yb (-100<=xa,ya,xb, yb<=100),表示公路

2020-05-19 07:27:25 358

原创 SQL--代数查询语言实例

注意:为连接符号;1、设有如下所示的关系:学生表S(S#,SNAME,AGE,SEX)、课程表C(C#,CNAME,TEACHER)和学生选课表SC(S#,C#,GRADE),其中:S#为学号,SNAME为姓名,AGE为年龄,SEX为性别,C#为课程号,CNAME为课程名,GRADE为成绩, TEACHER为教师。试用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。 πC#,CNAME(σTEACH...

2020-05-19 07:27:05 4875

原创 模板--判断两条线段是否相交--计算几何

模板--判断两条线段是否相交--计算几何;两个结构体表示的是该条直线的A,B两个端点;const int maxa=1e2+10;const double pi=0.00000001;struct nodea{ int x,y;}a[maxa];struct nodeb{ int x,y;}b[maxa];bool check(nodea a,nodeb b,nodea c,nodeb d){ if(!(min(a.x,b.x)<=max(c.x,d.x) &amp

2020-05-18 10:29:28 1567 2

原创 51Nod--1953--folyd()算法

在网络中,发送一个包需要知道对方的物理地址,当不知道物理地趣的时候,就要向网络中广播发送对方的IP地址,然后每一台计算会收到这个广播,如果IP和自己的计算对上,就把自己的物理地址发送出去。现在有n台计算,编号从1到n,现在1号计算向网络中发送广播,问经过多少时间后所有的计算机都会收到这个广播。输入的网络保证所有的计算机之间是可以相互通信的。Input单组测试数据。 第一行有一个整数n(1 <= n <= 100)。 接下来输入一个邻接矩阵A,A的大小是n x n。里面的元素要么是一

2020-05-18 10:20:48 300

原创 CSU--2078--880ms解决

出自:https://blog.csdn.net/queque_heiya/article/details/106185459完整代码如下:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define ll long longconst int maxa=1e7+10;using namespace st

2020-05-18 08:42:37 158

原创 CSU--2078--迷惑超时--分享

小W有很强的好胜心,也有很明确的目标,总是希望当第k名,但是小W太菜了,经常达不到目标,于是他每次考试后都想知道第k名的分数是多少,然后以它为目标。 现在给出了每个人的分数,请求编程能力很强的你帮他迅速找到第k名的分数为多少,这样他才有更多的时间去学习。Input第一行为一个正整数t代表有t组数据。每组数据第一行为两个正整数n和k,第二行为n个正整数。1 < =k < =n < =107Output对于每组数据,输出第k大的数Sample Input16 21.

2020-05-18 08:39:21 141

原创 OpenJ_Bailian--4071--字符串字符的统计查找

给定一个ASCII字符串,查找字符串中,出现了k次的字符。比如,字符串"This is a good day!"中,出现了2次的字符为'a','d','i','o', 's',出现了4次的字符为' '。Input第一行是一个正整数n(1<=n<=100),表示下面要进行查找的字符串的数量。其后n行,每行是一个字符串(这里确保字符串的结尾不是空格),和一个数字k,字符串和数字k之间由一个空格隔开。Output输出要求按照ASCII码从小到大的顺序输出字符,每个字符用单引号括起来,字

2020-05-18 08:24:05 249

原创 OpenJ_Bailian--4143--和为定值

给出若干个整数,询问其中是否有一对数的和等于给定的数。Input共三行:第一行是整数n(0 < n <= 100,000),表示有n个整数。第二行是n个整数。整数的范围是在0到10^8之间。第三行是一个整数m(0 <= m <= 2^30),表示需要得到的和。Output若存在和为m的数对,输出两个整数,小的在前,大的在后,中间用单个空格隔开。若有多个数对满足条件,选择数对中较小的数更小的。若找不到符合要求的数对,输出一行No。Sample Input4

2020-05-18 08:19:19 222

原创 51Nod--2063--二分

输入一个整数n和n个整数,保证这n个整数已经按照从小到大进行排序。然后输入一个整数q(q <= 100000)代表q次查询。接下来q行,每行含有一个整数m,代表一次查询。对于每次查询,使用二分查找判断m是否在之前输入的n个整数中出现过。如果出现,输出一行"Yes",否则输出"No"。Input第一行:一个整数n(n <= 100000)。 接下来n行,每行一个整数ai(1 <= ai <= 10^9)。 接下来一行,一个整数q。 接下来q行,每行输入一个整数x(1 <

2020-05-18 08:16:52 954

原创 模板--HihoCoder--1133--非有序数组的二分查找

题目链接:https://vjudge.net/problem/HihoCoder-1133/origin输入第1行:2个整数N,k。N表示数组长度,第2行:N个整数,表示a[1..N],保证不会出现重复的数,1≤a[i]≤2,000,000,000。输出第1行:一个整数t,表示t在数组中是第k小的数,若K不在数组中,输出-1。Sample Input10 41732 4176 2602 6176 1303 6207 3125 1 1011 6600Sample Output

2020-05-18 08:12:04 164

原创 计蒜客--T1560--binary_search--二分

蒜头君手上有个长度为nn的数组AA。由于数组实在太大了,所以蒜头君也不知道数组里面有什么数字,所以蒜头君会经常询问整数xx是否在数组AA中。输入格式第一行输入两个整数nn和mm,分别表示数组的长度和查询的次数。接下来一行有nn个整数aiai。接下来mm行,每行有11个整数xx,表示蒜头君询问的整数。输出格式对于每次查询,如果可以找到,输出"YES",否则输出"NO"。数据范围1≤n,m≤105,0≤x≤1061≤n,m≤105,0≤x≤10...

2020-05-18 07:57:09 540

原创 模板--STL之nth_element()--取容器中的第n大值

头文件:#include<algorithm>作用:nth_element作用为求第n大的元素,并把它放在第n位置上,下标是从0開始计数的,也就是说求第0小的元素就是最小的数;如:a[start,end]元素区间。排序后a[n]就是数列中第n+1大的数(下标从0開始计数);注意:1.a[start,n),a[n,end]内的大小顺序还不一定;2.仅仅能确定a[n]是数列中第n+1大的数。当然a[start,n)中的数肯定不大于a[n,end]中的数;3.nth_element

2020-05-16 16:31:49 158

原创 计蒜客--5月入门赛--A|B|C|D

计蒜客信息学5月入门赛;题目要求不再叙述了;A:注意:数据类型 long long#include<iostream>#include<cstdio>using namespace std;#define ll long longconst int maxa=1e3+10;ll a,b,c,d; int main(){ scanf("%lld%lld%lld%lld",&a,&b,&c,&d); printf("%l

2020-05-16 10:37:18 186

原创 模板--快速找数组中两数字--和为定值

解法一一个直接的解法就是穷举:从数组中任意取出两个数字,计算两者之和是否为给定的数字。显然其时间复杂度为N(N-1)/2即O(N^2)。这个算法很简单,写起来也很容易,但是效率不高。一般在程序设计里面,要尽可能降低算法的时间和空间复杂度,所以需要继续寻找效率更高的解法。解法二求两个数字之和,假设给定的和为Sum。一个变通的思路,就是对数组中的每个数字arr[i]都判别Sum-arr[i]是否在数组中,这样,就变通成为一个查找的算法。在一个无序数组中...

2020-05-16 10:37:01 322

原创 补码一位乘--布斯公式

◆ 先考查两个补码乘法运算的例子例1:已知 X=0.1011,Y=0.0001(真值)[X]补=01011 , [Y]补= 00001[X*Y]补=000001011[X]补*[Y]补=000001011这时有,[X*Y]补=[X]补*[Y]补例2:已知 X=0.1011,Y= - 0.0001(真值)[X]补=01011 , [Y]补= 11111[X*Y]补=111110101[X]补*[Y]补=101010101显然,[X*Y]补≠[X]补*[Y]补▲对两个正数来说...

2020-05-09 13:00:20 3906

原创 HDU--2085

某核反应堆有两类事件发生:高能质点碰击核子时,质点被吸收,放出3个高能质点和1个低能质点;低能质点碰击核子时,质点被吸收,放出2个高能质点和1个低能质点。假定开始的时候(0微秒)只有一个高能质点射入核反应堆,每一微秒引起一个事件发生(对于一个事件,当前存在的所有质点都会撞击核子),试确定n微秒时高能质点和低能质点的数目。Input输入含有一些整数n(0≤n≤33),以微秒为单位,若n...

2020-05-07 11:25:49 124

原创 HDU--2083--水题暴力

寒假的时候,ACBOY要去拜访很多朋友,恰巧他所有朋友的家都处在坐标平面的X轴上。ACBOY可以任意选择一个朋友的家开始访问,但是每次访问后他都必须回到出发点,然后才能去访问下一个朋友。比如有4个朋友,对应的X轴坐标分别为1, 2, 3, 4。当ACBOY选择坐标为2的点做为出发点时,则他最终需要的时间为 |1-2|+|2-2|+|3-2|+|4-2| = 4。现在给出N个朋友的坐标,那么AC...

2020-05-07 11:24:32 465

原创 HDU--2082--贪心思路

假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26。那么,对于给定的字母,可以找到多少价值<=50的单词呢?单词的价值就是组成一个单词的所有字母的价值之和,比如,单词ACM的价值是1+3+14=18,单词HDU的价值是8+4+21=33。(组成的单词与排列顺序无关,比如ACM与CMA认为是同一个单词)。...

2020-05-07 11:22:54 285

原创 HDU--2081--水题

大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号。假设所有的短号都是是 6+手机号的后5位,比如号码为13512345678的手机,对应的短号就是645678。现在,如果给你一个11位长的手机号码,你能找出对应的短号吗?Input输入数据的第一行是一个N(N <= 200),表示有N个数据,接下来的N行每一行为一个1...

2020-05-07 11:21:36 973

原创 模板--逆元求法--LibreOJ--110

这是一道模板题。给定正整数nn与pp,求1∼n1∼n中的所有数在模pp意义下的乘法逆元。Input一行两个正整数nn与ppOutputnn行,第ii行一个正整数,表示ii在模pp意义下的乘法逆元。样例输入10 13样例输出179108112534思路一:费马小定理;#include<algorith...

2020-05-07 10:55:01 483

原创 模板--HihoCoder--1303--解线性方程组

题目不再描述;输入第1行:1个正整数, N,2≤N≤1,000。第2..N+1行:2个正整数, 第i+1行表示第i组m,r,2≤m≤20,000,000,0≤r<m。计算过程中尽量使用64位整型。输出第1行:1个整数,表示满足要求的最小X,若无解输出-1。答案范围在64位整型内;Sample Input33 25 37 2Sample Output2...

2020-05-07 08:26:47 133

原创 计蒜客--T1581--欧拉函数求互质的个数

这里我们定义\varphi(n)φ(n)表示所有小于等于nn与nn互质数的个数。例如\varphi(10) = 4φ(10)=4,因为我们可以在1 \sim 101∼10中找到1,3,7,91,3,7,9与1010互质。输入格式第一行输入一个整数tt,表示测试数据组数。接下来tt行,每行有一个整数nn。输出格式对于每组测试数据输出\var...

2020-05-06 16:24:35 357

原创 计蒜客--T1594--欧拉函数求互质的个数

这里我们定义\varphi(n)φ(n)表示所有小于等于nn与nn互质数的个数。例如\varphi(10) = 4φ(10)=4,因为我们可以在1 \sim 101∼10中找到1,3,7,91,3,7,9与1010互质。输入格式第一行输入一个整数tt,表示测试数据组数。接下来tt行,每行有一个整数nn。输出格式对于每组测试数据输出\var...

2020-05-06 16:22:51 381

原创 模板--HihoCoder--1298--欧拉函数

思路:https://blog.csdn.net/queque_heiya/article/details/105947772直接上模板即可;#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<cmath>usin...

2020-05-06 16:19:43 118

原创 模板--HihoCoder --1297--扩展欧几里得

HihoCoder --1297--扩展欧几里得求最大公倍数与不定方程的解;LL gcd(LL a,LL b){ return b?gcd(b,a%b):a;}void extgcd(LL a,LL b,LL &x, LL &y){ if(b){ extgcd(b,a%b,y,x); y-=(a/b)*x; } ...

2020-05-06 16:17:27 157

原创 模板--HihoCoder--1296--约瑟夫问题

HihoCoder--1296--约瑟夫问题代码一:超时#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;typedef long long LL;LL n...

2020-05-06 16:14:39 130

原创 模板--欧拉函数模板

欧拉函数的值等于不超过m并且和m互为质数的个数;1.求欧拉函数值:时间复杂度O(sqrt(n));LL euler_deall(LL n){ LL res=n; for(int i=2;i*i<=n;i++){ if(n%i==0){ res=res/i*(i-1); for(;n%i==0;n/=i); } } if(n!=1) rea=res/n*(...

2020-05-06 11:55:41 148

原创 质数判断超详解--HihoCoder--1295--Eular质数筛法||Miller_Rabin算法

问题描述:前驱质数查找--统计前缀和类似https://blog.csdn.net/queque_heiya/article/details/105931133思路一:采取素数筛法,初始化求解,但是依旧暴力;代码如下:时间7953ms;#include<cstdio>#include<cstring>#include<algorithm>#i...

2020-05-05 20:13:54 189

原创 LibreOJ--119--非负权单源最短路--Dijkstra算法

给一个n(1≤n≤2500)n(1≤n≤2500)个点m(1≤m≤6200)m(1≤m≤6200)条边的无向图,求ss到tt的最短路。Input第一行四个由空格隔开的整数nn、mm、ss、tt。之后的mm行,每行三个正整数sisi、titi、wi(1≤wi≤109)wi(1≤wi≤109),表示一条从sisi到titi长度为wiwi的边。Outpu...

2020-05-05 17:06:53 859

空空如也

空空如也

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

TA关注的人

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