- 博客(57)
- 资源 (1)
- 收藏
- 关注
原创 998. Maximum Binary Tree II
We are given therootnode of amaximum tree:a tree where every node has a value greater than any other value in its subtree.Just as in theprevious problem, the given treewas constructed from an ...
2019-05-14 17:38:31
298
原创 leetcode--654. Maximum Binary Tree
参考:https://leetcode.com/problems/maximum-binary-tree/discuss/106147/C%2B%2B-8-lines-O(n-log-n)-map-plus-stack-with-binary-searchGiven an integer array with no duplicates. A maximum tree building on ...
2019-05-13 21:02:41
263
转载 数论中的战斗机---莫比乌斯函数
转载: https://blog.csdn.net/ZSGG_ACM/article/details/40739417?utm_source=blogxgwz5 莫比乌斯函数,数论函数,由德国数学家和天文学家莫比乌斯(August Ferdinand Möbius ,1790–1868)提出。梅滕斯(Mertens)首先使用μ(n)作为莫比乌斯函数的记号。而据说,高斯(Gauss)...
2019-02-04 22:00:10
524
原创 百度之星-Disk Schedule--双调旅行商问题
终于有时间更新了。。。。。Problem Description有很多从磁盘读取数据的需求,包括顺序读取、随机读取。为了提高效率,需要人为安排磁盘读取。然而,在现实中,这种做法很复杂。我们考虑一个相对简单的场景。磁盘有许多轨道,每个轨道有许多扇区,用于存储数据。当我们想在特定扇区来读取数据时,磁头需要跳转到特定的轨道、具体扇区进行读取操作。为了简单,我们假设磁头可以在某个轨道顺时针或逆时...
2019-02-04 20:18:13
236
原创 基于链队列的银行叫号系统
程序所能达到的功能:可视化操作界面。 客户和工作人员共用同一个虚拟队列,客户取编号后的信息及时更新给工作人员。 VIP客户和普通客户有设立不同窗口 派号功能:客户可根据自己的情况进行操作领取编号,同时可知道当前有多少人正在排队。 叫号功能:工作人员通过客户的排队情况进行叫号,在显示器上显示出来。 以及其他相关的人性化设计辅助功能#define _CRT_SECURE_NO_WAR...
2019-01-05 12:38:04
2656
6
原创 c++ 链队列的实现
链队列它有两个指针操作,一个是队首指针,一个是队尾指针,节点删除移动队首指针,节点插入移动队尾指针,同时队列具有先进先出的特点。可用于模拟银行叫号系统代码:#include<iostream>#include<cstdlib>using namespace std;//定义队列结点的数据结构struct QNode{ QNode *next;//指针域...
2018-12-17 16:10:32
664
原创 CTF --第二届春秋欢乐赛-Crypto-Rsa256 writeup
打开文件看见:老规矩,public.kep先扔给openssl解出n和e给xshell写命令行:openssl -pubin -text -modulus -in waimup -in public.key然后将n转为十进制:所以:e=65537n=9843207927151313098126791905614916163189282270716717785...
2018-12-08 20:14:38
1965
原创 第四届“百越杯” Crypto-RSA详解---解pem和enc文本
解压文件包发现三个文件,flag.enc、pubkey.pem和rsa.py个文件。一、看到.pem先用openssl解开公钥n和e在xshell输入命令行:openssl rsa -bubin -text -modulus -in warmup -in pubkey.pem看到e和n了吗!!!先把十六进制的n转换成十进制的n,如下:e=9850747023606211...
2018-12-08 18:42:13
4390
原创 CTF—Basic-加密的文档..
发现了一个敲可爱的出题人......题目就给一个word文档,啥信息都没有,打开文档看到一张图片这...调皮的出题人,以我解密一个星期的经验来看,肯定就是将它用txt打开看里面的信息了,结果... 看了半天啥找不出半点有用的信息...然后我就想txt不行,隐藏...会不会还有一层,就试着将word.docx改成word.zip,果然!这是打开后看到的...然后一...
2018-11-27 21:05:52
2894
原创 Jarvis OJ - Basic - veryeasyRSA(用实例详解RSA--超容易理解)
最近在研究RSA,好久没更新了......翻了数论的欧拉-费小马-模反--等等..不研究清楚他们的联系和这题的原理实在不想直接做题啥也不懂....总结了wiki和各路大神的分析,先来一波数学基础知识:RSA加密算法是一种非对称加密算法。对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用R...
2018-11-27 13:05:15
1545
原创 分享~数学资源还有个欧拉计划还有中文翻译~~
如果你爱数学 点击我,一系列关于数学的资源应有尽有如果打不开,复制链接再打开http://www.hejizhan.com/html/search?keyword=欧拉计划https://projecteuler.net/archives欧拉的翻译:http://pe-cn.github.io/problems/ ...
2018-11-19 19:23:58
392
原创 cassical--CTF(Crypto)
打开文件看到一段奇怪的英文:Ld hcrakewcfaxr, f hofjjlhfo hlaxuc lj f krau ev hlaxuc kxfk zfj tjui xljkeclhfoor gtk dez xfj vfooud, vec kxu pejk afck, ldke iljtju. Ld hedkcfjk ke peiucd hcrakewcfaxlh foweclkxpj...
2018-11-18 12:05:26
1444
1
原创 小心猪圈-CTF(Crypto)
题目:R29kIGpvYjo1NzY1NkM2QzIwNjQ2RjZFNjUzQTRBMzU1ODQ3NTkzNjRBNDE0RTM1NTg0NzRCNDk0NDU0NEY1MjUzNTg0MTQ5NDQ0MjRGMzU1MTU4NTM0RjUzNTI0NzQ5MzQ1ODRCNTc1MjU0NEE0QTU1NDc0OTUzNDM1NzRGNEU0RDU2NTE1NTU0NTE0RDQ5NUE...
2018-11-17 12:52:22
4701
原创 凯撒密码-CTF(Crypto)
题目:致敬经典lrua{1uy3yj9l-yw9u-48j2-uuj8-36h03706y7u7}解密 :题目的图片是20020年的电影名为凯撒大帝,很明显应该考虑是凯撒密码,将a~z对应着1~26列出来,将明文对应上,可发现偏移量为6,偶数位左移,奇数位右移,代码实现不难,但需要发现规律。用python实现代码:a='abcdefghijklmnopqrstuvwxyz'...
2018-11-17 12:17:24
8387
原创 一个大整数至少有多少个1 (每一位都是1)能整除2013
例如:111111111~~~~(n个1)%2013==0;思路:由于位数太大,已经超过了基本类型的位数,如果直接暴力判断没有办法会因为溢出输不出想要的结果。像这种直接求余数问题,举个简单的例子:求至少有几个1(每个位都是1)可以整除3①:一个1:因为1%3!=0,不能整除,所以1/3==1;②:二个1:(1/3)*10+1==11,因为11%3!=0,所以11/3==2;...
2018-11-12 21:17:59
1534
4
原创 线性规划网络流 :工厂最大效益——单纯形算法【超详+题解】
问题:某食品加工厂一共有三个车间,第一车间用 1 个单位的原料 N 可以加工 5 个单位的产品 A 或 2 个单位的产品 B。产品 A 如果直接售出,售价为 10 元,如果在第二车间继续加工,则需要额外加工费 5 元,加工后售价为 19 元。产品 B 如果直接售出,售价 16 元,如果在第三车间继续加工,则需要额外加工费 4 元,加工后售价为 24 元。原材料 N 的单位购入价为 5 元,每工时的...
2018-10-01 17:24:47
1829
原创 百度之星6049-没有兄弟的舞会(贪心)
Problem Description度度熊、光羽、带劲三个人是好朋友。度度熊有一棵n个点的有根树,其中1号点为树根。除根节点之外,每个点都有父节点,记i号点的父节点为fa[i]。度度熊称点i和点j是**兄弟**(其中i≠j)当且仅当fa[i]=fa[j]。第i个点的权值为Ai。现要求选出一个点集,该点集合法当且仅当**点集中至多只有一对兄弟**。度度熊想知道,在所有可行的点集中,权值...
2018-09-30 09:44:01
244
原创 KMP模式匹配算法&next数组优化代码
KMP是为了解决朴素匹配算法的低效率问题。例如:朴素算法匹配:观察字串第一个字母a于后面的bcdex都不相等,而在①匹配可知,主串和子串的前五位分别相等,意味着子串的首字母a不可能与主串的第2位到第5位的字符相等,所以朴素算法中的②③斯⑤都是多余的。例如:T[1]=a,T[2]=b;S[2]=b;∵T[1]≠T[2]且T[2]=S[2];∴T[1]≠S[2]同样,在...
2018-09-17 13:49:15
1919
1
原创 大一学了一年算法的心得.....
前几天接到老师介绍说有一份家教的兼职,问我感不感兴趣,教的内容是数学和c++,说是一个小学的学生正在参加某一培训跟不上进度希望我去辅导一下,了解了大概要求看了他们的学习内容,不由得感叹,现在的小孩真的赢在了起跑线。一个小学五年级的孩子正在学着我一个大学生在学着的知识,写了几道他们入门级的信息奥赛题,虽然觉得很简单,但是对于一个完全没有编程基础而且还是小学生来说难免有点勉强。当然更多的是羡慕,羡慕有...
2018-09-13 21:29:14
1647
1
原创 1038:苹果和虫子
【题目描述】你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?【输入】输入仅一行,包括n,x和y(均为整数)。【输出】输出也仅一行,剩下的苹果个数。【输入样例】10 4 9【输出样例】7#include<iostream>...
2018-09-11 19:43:20
4251
原创 1037:计算2的幂
【题目描述】给定非负整数n,求2n的值,即2的n次方。【输入】一个整数n。0≤n<31。【输出】一个整数,即2的n次方。【输入样例】3【输出样例】8#include<iostream>using namespace std;int main(){ int n,sum=1; ...
2018-09-11 19:42:16
4526
1
原创 1036:A×B问题
【题目描述】输入两个正整数A和B,求A×B的值。注意乘积的范围和数据类型的选择。【输入】一行,包含两个正整数A和B,中间用单个空格隔开。1≤A,B≤50000。【输出】一个整数,即 A×B的值。【输入样例】3 4【输出样例】12代码;#include<iostream>using namespace std;in...
2018-09-11 19:41:18
3633
1
原创 1034:计算三角形面积
【题目描述】平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少,精确到小数点后两位。【输入】输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3。【输出】输出也是一行,输出三角形的面积,精确到小数点后两位。【输入样例】0 0 4 0 0 3【输出样例】...
2018-09-11 19:40:24
2678
原创 1035:等差数列末项计算
【题目描述】给出一个等差数列的前两项a1,a2,求第n项是多少。【输入】一行,包含三个整数a1,a2,n。−100≤a1,a2≤100,0<n≤1000。【输出】一个整数,即第n项的值。【输入样例】1 4 100【输出样例】298代码详解1035#include<iostream>using namesp...
2018-09-11 19:39:07
1216
原创 1033:计算线段长度
【题目描述】已知线段的两个端点的坐标A(Xa,Ya),B(Xb,Yb),求线段AB的长度,保留到小数点后3位。【输入】第一行是两个实数Xa,Ya,即A的坐标。第二行是两个实数Xb,Yb,即B的坐标。输入中所有实数的绝对值均不超过10000。 【输出】一个实数,即线段AB的长度,保留到小数点后3位。【输入样例】1 12 ...
2018-09-11 19:37:29
2686
原创 1032:大象喝水查
【题目描述】一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。问大象至少要喝多少桶水才会解渴。 【输入】输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深h和底面半径r,单位都是厘米。 【输出】输出一行,包含一个整数,表示大象至少要喝水的桶数。 【输入样例】23 11【输出样例】...
2018-09-11 19:35:39
5263
原创 对红黑树的初步了解
平衡的二叉树的查找速度最快的情况是O(logn),但是它在不平衡的时候最坏的情况是O(n)2-3树能够保持树的平衡性,但是因为存在3-结点,它并不是标准的二叉树。红黑树就是能把二叉树和2-3树算法的优点都结合起来构建一个完美平衡的二叉树。它不管是插入、查找还是删除最坏的情况都是O(logn).红黑树,一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。...
2018-09-09 14:57:26
229
原创 KMP模式匹配算法
↓(不匹配位置 6)例子 T串:a b c a b c (i 表示位置)S串:a b c a b d aaaaaaa (j 表示位置)位置: 1 2 3 4 5 6则 匹配到 a b c a b 则 i5 = j5 ≠ j4 ≠ j3 = j2 ≠ j1所以因为 i5 与 j4 j3 都不相等 所以直接跳过 i5不与 j4 j3 匹配 直接与 j2 匹配代码详解:#i...
2018-09-07 09:10:03
244
1
原创 数据结构--散列表查找(哈希表)
对于查找,有顺序表直接遍历,有折半查找直到查找成功。但是这都需要不断的比较,每一次查找都需要重新遍历,所以当数据庞大时是非常耗时的。散列表是一种可以避免多次比较,直接通过关键字就可以得到要查找的记录内存存储位置。例如就像是一个函数,每一个自变量都对应着一个函数值,即 ...
2018-09-07 09:02:16
672
原创 数据结构---排序、第K大数,第K小数(堆)
堆是一种特殊的完全二叉树,所有父点都比子结点要小称最小堆,反之,所有父点都比子结点大的成为最大堆。用堆来排序、删除、增加效率都比较高。另外用堆来求第K大数和第K小数都比较方便。只需要建立一个大小为K的堆,堆顶就是要求的第K大或第K小。例如:有5个数,要求第3小的数。首先任取三个数,例如前三个建立最大堆,然后从第4个数开始与堆顶比较,若比堆顶大,那么这个数就不要,若比堆顶小就和堆顶交换,重新...
2018-08-24 10:39:21
1945
原创 数据结构:迷宫寻宝----简单搜索
描述 数据结构一篇关于迷宫求解的问题,我想大家一定都没有做过,今天我们坏马啃回头草。虽然很无聊,但是能做出了,尤其不看书的情况下,那就有聊的了。输入有TN个测试数据;我会给你一个迷宫,我会将它表示成矩阵形式,其中‘#’表示墙,你是穿不过的。‘=’表示路,你当前所在的位置标记为‘Y’,你要去的地方标记为‘T’。第一行为TN,每个测试数据包含以下信息:第一行:行M,...
2018-08-22 19:40:15
840
原创 数据结构:二叉树的深度与叶子节点数
输入二叉树的先序序列,计算并输出该二叉树的深度与叶子节点个数。请将代码填写完整。例如,下面二叉树对应的先序序列为“AB#D##C##"。 A / \ B C \ D 输入 叉树对应的先序序列为。 输出二叉树的深度与叶子节点个数。样例输入AB...
2018-08-22 15:18:59
8262
1
原创 数据结构--一笔画问题
描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来。 规定,所有的边都只能画一次,不能重复画。 输入 第一行只有一个正整数N(N<=10)表示测试数据的组数。 每组测试数据的第一行有两个正整数P,Q(P<=1000,Q<=2000),分别表示这个画中有多少个顶...
2018-08-22 15:05:19
1981
原创 简单搜索--马的走法
描述 在一个4*5的棋盘上,输入马的起始位置坐标(纵、横),求马能返回初始位置的所有不同走法的总数(马走过的位置不能重复,马走“日”字)。输入多个测试数据。 每组2个数,表示起始位置坐标。输出输出不同走法的总数。样例输入2 21 3样例输出45964772这道题可以直接用典型的DFS算法,把上下左右的方向换成马走法的规则就行。代码:...
2018-08-18 16:41:29
898
原创 数据结构---二叉树线索化&&双向链表
我们在创建二叉树时,每个结点都记录的左右孩子的地址,但却不知道前驱是谁,后继是谁。同时创建完会有很多空指针,为了方便记录下每个结点的前一个结点(前驱)和后一个结点(后继)是什么,便可以充分利用这些空指针域。例如一个结点没有左孩子,即它的左孩子指针指向空,这时我们可以让它的左指针指向它的前驱,若这个结点也没有右孩子,则这个结点的右指针指向它的后继。图示:(空心箭头实线指向前期,实心箭头虚线指...
2018-08-16 21:04:50
695
原创 数据结构---最小生成树之控制机器--prim算法
题目:现在有个一个内部局域网络,里面有N台机器。为了某种安全原因的考虑,每两台机器之间的通讯都是经过加密的。由于不同机器之间传输的内容不同,所以他们通讯采用的加密级别也不大相同。不同的加密级别导致破解的难度不一样,越高的加密级别破解需要的时间也越多。如果我们获得了编号为i的机器的完全控制权,另外我们破解了机器i和机器j之间的加密信息,那么我们就得到了机器j的完全控制权。 现在你通过...
2018-08-14 21:32:32
179
原创 数据结构----二叉树的建立和遍历
对于如何创建二叉树,假设我们要在内存中生成图6-9-1左一样的二叉树,为了确认每个结点是否都有左右孩子 ,我们对每个结点都进行扩展,如下右图,也就是把每个结点的空指针都引出一个虚结点,可以随意赋一个值。二叉树遍历的方法有:前序遍历void setplay(BiTree *T){ if (T->data==NULL) return; cout << ...
2018-08-11 21:21:35
324
原创 数据结构--希尔排序
希尔排序是一种基于插入排序的算法,通过把一个数组分成几个小数组,间隔为h,即:假设h为4 A B C D E F G H I J K F L M N O ① A--------------E-------------I------------L ② B-------------F------------J-...
2018-08-11 20:39:15
153
原创 数据结构--用链表栈实现括号的匹配问题
在结构化存储数据集是常常使用数组即顺序表,但当数据庞大时用数组往往比较繁琐,例如我需要在数组中间添加一个元素进去,则需要移动很多个元素,而且在定义数组大小时,小了会溢出,大了会浪费。而链表正是代替数组解决了这些问题。链表可以在O(1)的复杂度下处理删除,添加等问题,而且可以用指针来动态分配存储空间,不会出现空间浪费的情况例子:编写一个Stack的用例,从输入中读取一个文本流并使用栈...
2018-08-08 22:48:09
1092
原创 2018-百度之星程序设计大赛资格赛1002题解——子串查询--前缀和
题目:度度熊为了检验你是否具备不听课的资质,度度熊准备了一个只包含大写英文字母的字符串 A[1,n]=a1a2⋯anA[1,n] = a_1 a_2 \cdots a_nA[1,n]=a1a2⋯an,接下来他会向你提出 qqq 个问题 (l,r)(l,r)(l,r),你需要回答字符串 A[l,r]=alal+1⋯arA[l,r] = a_l a_{l+1} \cdots a_...
2018-08-06 17:46:17
244
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人