摘要: 题解 第一种方法:令数组tree[]记录栈中的元素,栈中的数值 x 的个数为 tree[x] 。树状数组维护tree[],然后二分查找。 第二种方法:利用分块,以一定长度区间为单位,记录栈中数值的个数,然后暴力查找。 代码 //树状数组 + 二分 #include<bits/stdc++.h> us 阅读全文
posted @ 2020-01-25 21:42 Vivid-BinGo 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题解 找出有效的字符串(t),第一个非零数字的位置(zero)和小数点的位置(point)。 若 s = "0012.104654",N = 4 则 t = "12104654",zero = 2,point = 4,所以答案为 0.1210*10^(point-zero) 若 s = "0000. 阅读全文
posted @ 2020-01-25 15:34 Vivid-BinGo 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题解 01背包板子 + 记录路径。这次的记录路径比较特殊,要从多组解中找到一组由尽量小价值的硬币组成的解。所以不能利用一维数组记录路径,path[目前重量] = 物品序号,因为这样最后只能记录一个可能符合或不符合要求解。所以应该利用二维数组记录路径,path[ 物品序号 ][ 目前重量 ] = 1, 阅读全文
posted @ 2020-01-24 23:27 Vivid-BinGo 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 题解 最短路径经典题型。套最短路的板子再加上额外的要求就可以了(说起来好简单)。SPFA也行,Dijkstra也可以。这里我用的是SPFA。因为题目要求,将地名和其对应的数字用map映射一下,这样方便处理。 same[i]代表到达地点 i 有几种路径; dist[i]代表从起点到地点 i 的最短距离 阅读全文
posted @ 2020-01-23 23:41 Vivid-BinGo 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题解 模拟。 题目有三种状态。 第一种为题目得到了一定的分数( >= 0); 第二种为题目提交过但是没有通过编译(代码中状态为 -2 ,输出对应 0 ); 第三种题目根本就没提交过(代码中状态为 -1 ,输出对应 ‘-’ )。 考生只要至少有一道题目满足第一种情况,即可将这位考生的信息输出出来。 代 阅读全文
posted @ 2020-01-22 00:25 Vivid-BinGo 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题解 贪心。 若 0 的不在它的位置,那么 0 占的那个元素的位置,就和那个元素交换。 若 0 在它的位置,找一个没有归位的元素与 0 交换。 代码 #include<bits/stdc++.h> using namespace std; int arr[100005]; int main() { 阅读全文
posted @ 2020-01-21 18:11 Vivid-BinGo 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题解 模拟。记得把早于8:00达到的人的等待时间加上。 代码 #include<bits/stdc++.h> using namespace std; struct node { int time,get_time,p_time; node(int c,int a,int b) { time=c; 阅读全文
posted @ 2020-01-21 14:03 Vivid-BinGo 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题解 模拟水题。 代码 #include<bits/stdc++.h> using namespace std; struct node { string name; int final_rank,loc_num,loc_rank,grade; node(string name,int loc_nu 阅读全文
posted @ 2020-01-21 12:01 Vivid-BinGo 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 题解 模拟。先将原始字符串处理 [ op(string &s) ] 一下就好。 代码 #include<bits/stdc++.h> using namespace std; char ch[15][5]={{"ling"},{"yi"},{"er"},{"san"},{"si"},{"wu"},{ 阅读全文
posted @ 2020-01-21 10:42 Vivid-BinGo 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题解 模拟。注意美元和美分的转换。如果一个人没有完整的消费记录什么都别输出 (呕~~) :)。 代码 #include<bits/stdc++.h> using namespace std; struct node { string time,flag,other_time; int cost_se 阅读全文
posted @ 2020-01-20 23:47 Vivid-BinGo 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 2的倍数特征: 整数末尾是0、2、4、6、8、……的数。 3的倍数特征: 整数各个位数字和是3的倍数。例如:3、6、9、12、15、18……、156…… 4的倍数特征: 整数末两位被4整除。例如:124、764、1148…… 5的倍数特征: 整数的末尾是0或5的数。 7的倍数特征: 整数末三位与前几 阅读全文
posted @ 2020-01-20 18:56 Vivid-BinGo 阅读(11448) 评论(0) 推荐(0) 编辑
摘要: 定义 设 是有序集,且 ,表示有序集 S 的二叉搜索树利用二叉树的结点来存储有序集中的元素。它具有下述性质:存储于每个结点中的元素 x 大于其左子树中任一结点所存储的元素,小于其右子树中任一结点所存储的元素。二叉搜索树的叶节点是形如 的开区间。在表示 S 的二叉搜索树中搜索一个元素 x ,返回的结果 阅读全文
posted @ 2019-11-30 13:38 Vivid-BinGo 阅读(805) 评论(0) 推荐(0) 编辑
摘要: assume cs:code,ds:data,ss:stack data segment food dw 0 dir dw 0 site db -1,0,1,0,0,-1,0,1 top dw 0 body dw 400 dup(0) data ends stack segment dw 20 du 阅读全文
posted @ 2019-11-15 16:32 Vivid-BinGo 阅读(171) 评论(0) 推荐(0) 编辑
摘要: ; 写扇区 assume cs:setupsg setupsg segment setup: ;引导程序-1扇区 mov ax,initsg mov es,ax mov bx,0 mov al,1 mov ch,0 mov cl,1 mov dl,0 mov dh,0 mov ah,3 int 13 阅读全文
posted @ 2019-11-09 17:07 Vivid-BinGo 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 定义 在二维欧几里得空间中,凸包可想象为一条刚好包着所有点的橡皮圈。 用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边形,它能包含点集中所有的点。 实现 graham (葛立恒)扫描法 ① 找到所有点中最左下角的点 p0。(按 x 升序排列,如果 x 相同,则按 y 阅读全文
posted @ 2019-10-09 10:25 Vivid-BinGo 阅读(555) 评论(0) 推荐(0) 编辑