Coding
Coding
Daboloo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Leetcode周赛285
由于很久很久没有刷过题了,从leetcode重新入手刷题。 2210. 统计数组中峰和谷的数量 思路:用flag表示上升或下降,注意开始时如果是平的,flag应赋其他值以区分。 class Solution { public: int countHillValley(vector<int>& nums) { int cnt = 0; if(nums.size()<3) return 0; int flag = 3;原创 2022-03-22 14:01:27 · 957 阅读 · 0 评论 -
UVa1585
#include<stdio.h> #define maxn 85 #include<string.h> char s[maxn]; int value = 0,score = 0; int main() { scanf("%s",s); for(int m =0 ; m<strlen(s);m++) { if (s[m] == 'O') scor...原创 2018-08-19 19:40:04 · 947 阅读 · 0 评论 -
HASH表
数字盒子 问题描述 你有一个盒子,你可以往里面放数,也可以从里面取出数。 初始时,盒子是空的,你会依次做 Q 个操作,操作分为两类: 插入操作:询问盒子中是否存在数 x,如果不存在则把数 x 丢到盒子里。 删除操作:询问盒子中是否存在数 x,如果存在则取出 x。 对于每个操作,你需要输出是否成功插入或删除。 输入 第一行一个正整数 Q,表示操作个数。 接下来 Q 行依次描述每个操作...原创 2018-11-03 12:17:36 · 369 阅读 · 0 评论 -
关于邻接表
struct E{ int next,to; }e[M]; E为每个包含next 和 to 的结构,next只从x出发的另一条边,to 指边连接的另一点。 void add(int x,int y){ ++cnt; e[cnt].next=ihead[x]; e[cnt].to=y; ihead[x]= cnt;} ihead为一行的表头,...原创 2018-11-03 10:48:53 · 162 阅读 · 0 评论 -
道路升级(最小生成树KRUSKAL)
道路升级 问题描述 Z国有 n 个城市和 m 条双向道路,每条道路连接了两个不同的城市,保证所有城市之间都可以通过这些道路互达。每条道路都有一个载重量限制,这限制了通过这条道路的货车最大的载重量。道路的编号从 1 至 m 。巧合的是,所有道路的载重量限制恰好都与其编号相同。 现在,要挑选出若干条道路,将它们升级成高速公路,并满足如下要求: 所有城市之间都可以通过高速公路互达。 对于任意两...原创 2018-11-03 12:57:47 · 732 阅读 · 0 评论 -
大转盘
大转盘 时间限制:1 sec 空间限制:256 MB 问题描述 邓老师有一个大转盘,被平分成了 2^n 份。 邓老师还有一个长度为 2^n 的数组 a(下标从 0 开始),其中的每个元素都是 0 或 1。于是邓老师就可以选择大转盘上的一个位置,将 a[0] 填入其中,然后按顺时针顺序依次将 a[1],a[2],…,a[2^n-1] 填入。 对于大转盘上的一个指定位置,邓老师可以从它开始...原创 2018-11-03 13:17:43 · 646 阅读 · 0 评论 -
TREE UVA 548
题目:先给一组中序遍历和一组后序遍历,再在叶子中找一个使其到根的路径的权和最小(相等取叶子小的),输出权和。 #include <bits/stdc++.h> using namespace std; const int maxv = 10000+10; int in_order[maxv],post_order[maxv],lch[maxv],rch[maxv]; int n; ...原创 2018-11-04 15:36:45 · 211 阅读 · 0 评论 -
重编码-K
重编码-K 背景 小粽学习了哈夫曼树之后,自己设计了贪心算法,用两个队列就过掉了练习题。 小粽想:那堆的算法有什么用呢?为了解决小粽的疑惑,邓老师委托小莉命制了这道题目…… 描述 有一篇文章,文章包含 nn 种单词,单词的编号从 11 至 nn,第 ii 种单词的出现次数为 wiwi。 现在,我们要用一个 kk 进制串(即只包含 0,1,...,k−10,1,...,k-1 的串) s...原创 2018-11-04 10:35:11 · 746 阅读 · 0 评论 -
开灯问题
#include<stdio.h> #include<string.h> #define maxn 1010 int a[maxn]; int main() { int n,k,first = 1; memset(a,0,sizeof(a)); scanf("%d%d",&n,&k); for (int i = 1;i<...原创 2018-08-16 21:53:12 · 185 阅读 · 0 评论 -
匈牙利算法(邻接表)
象棋 描述 你有足够多的象棋“车”,在一个n×n的棋盘上你能放多少个“车”呢?注意,所给棋盘上有些位置不能放任何东西。同时,某一行(列)最多只能存在一个“车”。 输入 第一行为一个正整数n。 接下来n行,每行包含n个整数,若为0表示这个位置不能放“车”;若为1表示这个位置可以放“车”。 输出 输出一个整数,表示最多能放多少个“车”。 样例1输入 5 1 0 0 0 0 0 0 ...原创 2018-11-03 11:01:26 · 637 阅读 · 0 评论 -
重编码(HUFFMAN)
重编码 问题描述 有一篇文章,文章包含 n 种单词,单词的编号从 1 至 n,第 i 种单词的出现次数为 w[i]。 现在,我们要用一个 2 进制串(即只包含 0 或 1 的串) s[i] 来替换第 i 种单词,使其满足如下要求:对于任意的 1≤i,j≤n(i≤j),都有 s[i] 不是 s[j] 的前缀。(这个要求是为了避免二义性) 你的任务是对每个单词选择合适的 s[i],使得替换后的...原创 2018-11-03 12:22:15 · 442 阅读 · 0 评论 -
天秤 UVA839
题目大意就是根据干杠平衡原理,判断题目所给出的数据组成的天平能否平衡。注意,此天平可能包含子天平。输入时,如果w为0,则表示包含子天平,子天平按照先左后右的方法输入。 解题思路: 这是二叉树的问题,数据的输入就好比先序遍历。(判断有无子节点就是判断w是否为0)。。 本题需要思考两点: 第一个如何判断子天平平和 第二个如何判断父天平是否平衡。第一点题目已经给出了公式。子天平只需要判断w1*d1==w...原创 2018-11-04 16:03:31 · 250 阅读 · 0 评论 -
并查集(等式)
等式 描述 有n个变量和m个“相等”或“不相等”的约束条件,请你判定是否存在一种赋值方案满足所有m个约束条件。 输入 第一行一个整数T,表示数据组数。 接下来会有T组数据,对于每组数据: 第一行是两个整数n,m,表示变量个数和约束条件的个数。 接下来m行,每行三个整数a,b,e,表示第a个变量和第b个变量的关系: 若e=0则表示第a个变量不等于第b个变量; 若e=1则表示第a个变...原创 2018-11-03 12:33:26 · 525 阅读 · 0 评论 -
算法训练营之最大红矩形
时间限制:4 sec 空间限制:256 MB 问题描述 有一个 n*m 的棋盘,棋盘上的每个点都是红的或绿的。 你需要找出一个面积最大的矩形区域,使得其中没有绿的格子。 输入格式 第一行 2 个正整数 n,m,描述棋盘尺寸。 接下来 n 行描述这个棋盘,每行 m 个字符,每个字符为 . 或 X,其中 . 表示这个位置是红色的,X 表示这个位置是绿色的。 输出格式 一行一个整数,表...原创 2018-11-02 00:26:52 · 744 阅读 · 0 评论 -
算法训练营之直方图最大面积
时间限制:1 sec 空间限制:256 MB 问题描述 有一个直方图,横轴长度为 n,第 i 列的高度为 h[i]。 请你求出在这个直方图中面积最大的子矩阵。 输入格式 第一行一个正整数 n。 第二行 n 个用空格隔开的非负整数,依次描述 h[1],h[2],…,h[n]。 输出格式 输出一行一个数,表示最大面积。 样例输入 5 2 3 3 3 2 样例输出 10 ...原创 2018-11-02 00:22:33 · 559 阅读 · 0 评论 -
序列计数
序列计数 描述 给定一个n个整数的序列以及一个非负整数d,请你输出这个序列中有多少个连续子序列(长度大于1),满足该子序列的最大值最小值之差不大于d。 连续子序列:序列1 2 3中长度大于1的连续子序列有: 1 2 2 3 1 2 3 输入 第一行包含两个整数n,d。 接下来一行包含n个整数。 输出 输出一个整数,表示满足条件的连续子序列个数。 样例1输入 8 5 5 ...原创 2018-11-03 11:12:47 · 561 阅读 · 0 评论
分享