![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
初学者_小铭
这个作者很懒,什么都没留下…
展开
-
个人复习:有技巧的搜索(二)
传送门主要考察:记忆化搜索第一问简单:直接从底向上搜索(或者自上到下也行),能到达最上面(或者最下面)就给1,不能就给0,最后扫描下低层情况。搜索技巧:如果从一个点到另一个点,路劲一定会从上到下(从左到右),那么注意左右(上下)隐藏的关系。第二问:根据题解从上到下搜索,查找到每个最上面点能达到的左右范围(递归+动规),想要用最少的储水点满足下面的干旱区,我们只需要从最左边开...原创 2019-04-13 00:50:01 · 120 阅读 · 0 评论 -
练习09-三种匹配算法(模板)
一、匈牙利算法解决二分图中的最大匹配问题(很多时候都可以把题目转变成二分图,刚学网络流有点头大)。两个互不相交的子集V1 ,V2 寻找他们能匹配到的最大数量。(由于我菜鸡,仅仅给出几种模板,网上有很多博客讲的很好了)1、邻接表实现(O( n^3)模板秒切过山车【模板】二分图匹配[ZJOI2009]假期的宿舍#include <iostream>#in...原创 2019-08-12 23:52:05 · 362 阅读 · 0 评论 -
练习08-Tarjan算法 入门
Tarjan算法一、基本介绍:不懂的点这里主要用来解决图的连通性问题和割点、桥等问题(看到那些问题基本就能套Tarjan模板,狗头爽)首先我们要区分这几个名词(后悔离散课没好好听了)无向图点双连通分量:任意点至少存在两条点不重复的路径,就是同一个点只能走一次。边双连通分量:任意点至少存在两条边不重复的路径,就是每条只能走一次有向图(BCC)强连通分量:在有向...原创 2019-08-05 23:35:15 · 112 阅读 · 0 评论 -
练习07:最短路劲(进阶)
Dijkstra 进阶:Dijkstra 算法维护一条路上某条边的最大或者最小问题。Heavy Transportation最短路径算法维护路径上最小的边。好像还可以用生成树写。Frogger最短路劲维护路径上最大的边。昂贵的聘礼 懂了前面两个,这个可以一遍A(我关系没想清楚,交了两次才过....)前面两题基本差不多,就是大于几个符号的区别,弄懂后,另外一题差不多秒A。...原创 2019-07-27 23:35:09 · 181 阅读 · 0 评论 -
练习04:图的遍历*2
一:无序字母对欧拉回路,DFS遍历找到然后输出,注意利用欧拉回路的性质剪枝,否则超时。#include<stdio.h>#include<string.h>#include<string>#include<stdlib.h>#include<queue>#include<map>#include<i...原创 2019-07-18 00:08:13 · 129 阅读 · 0 评论 -
练习06:最短路劲问题
单源最短路劲算法Dijkstra算法:贪心思想:每次找到一个最优点,然后遍历最优点的边,更新维护一个dist数组(dist代表点到各个点的目前最优距离)。用数组简单是简单,但是遇到大量数据,被安排的明明白白,但还是把两中都写上把。数组版(简单未优化,新手看)/*未优化,入门简单版*/#include<stdio.h>#include<stdlib.h&g...原创 2019-07-19 23:49:32 · 180 阅读 · 0 评论 -
练习03:排序
A题:Big Number 题意:求阶乘n的结果又多少位数。POJ的数据比hdu难过点,但是hdu讨论版的斯特林公式可以。我也不会证明,只能抄下来了咯。#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>#include<queue...原创 2019-07-16 22:11:21 · 170 阅读 · 0 评论 -
练习05:数学题
A:Maya Calendar这题主要是理解题目意思,理解后就是简单的时间转化。大体意思:Haab日历有19个月(分别有名字),前面18个月每个月有20天,只有一个月只有5天(0-4),一年一共有365天。Tzolkin日历只要求出具体是哪一天,因为它的天是由数字+字符一起表示的,而且是相对唯一。前面的数字每13,循环一次,即使到下个月下年,继续循环,而字符则固定不变,1-20天后面...原创 2019-07-18 21:02:43 · 254 阅读 · 0 评论 -
动态规划练习题(转)
转自:https://blog.csdn.net/love20165104027/article/details/79679072动态规划(英语:Dynamic programming,DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。动...转载 2019-07-15 11:02:25 · 271 阅读 · 0 评论 -
练习题02:相似基因(线性动态规划)
相似基因题目背景大家都知道,基因可以看作一个碱基对序列。它包含了44种核苷酸,简记作A,C,G,TA,C,G,T。生物学家正致力于寻找人类基因的功能,以利用于诊断疾病和发明药物。在一个人类基因工作组的任务中,生物学家研究的是:两个基因的相似程度。因为这个研究对疾病的治疗有着非同寻常的作用。题目描述两个基因的相似度的计算方法如下:对于两个已知基因,例如AGTGATGAGTGA...原创 2019-07-13 12:11:21 · 429 阅读 · 0 评论 -
练习题01:税收与补贴问题
税收与补贴问题题目背景每样商品的价格越低,其销量就会相应增大。现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位间销量的变化是线性的且在价格高于给定的最高价位后,销量以某固定数值递减。(我们假设价格及销售量都是整数)对于某些特殊商品,不可能完全由市场去调节其价格。这时候就需要政府以税收或补贴的方式来控制。(所谓税收或补贴就是对于每个产品收取或给予生产厂家...原创 2019-07-13 11:58:28 · 417 阅读 · 0 评论 -
个人复习(四)-除法分块
学莫比乌斯反演学着学着,发现除法分块不会,学吧学吧,反正莫比乌斯反演都学了。除法分块 简单来说就是将商相同的数放在一起计算,可以把时间复杂度从O(n)降到O(sqrt(n)。最经典的就是∑(i从1到n) n/i. 因为1-n的商会有相同的部分,可以把一起计算来加快速度。模板(后面有链接)//经典模板:long long solve(int N){ ...原创 2019-06-04 12:12:19 · 422 阅读 · 1 评论 -
个人复习(三)
国王的游戏思路:简单的贪心+高精度模板 想到解题方法不难,但是被高精度卡了一下....简单的测试可以得到贪心策略:每个大臣的左右手的数字相乘作为权值,将权值从小到大排列就是最后答案的队列(感觉出来的,不会证明.......)PS:注意这题需要高精度乘以低精度,高精度除以低精度,不然只有几十分。。。用普通的类型能过6个测试数据,用400位可以过8个测试数据,用1000位...原创 2019-06-01 16:46:26 · 101 阅读 · 0 评论 -
图的遍历-二种颜色染色
一直认为染色法不过是对走过的点标记(其实就是),所以没怎么上心(感觉我会)。然后,又没写出题目......... 题目传送门 题目翻译:图中有边相连的点不能同时选择,并且所有的边都要和选择的点相连。错误理解:第一问,不就是求是否有奇数环嘛。第二问.卡死.....题解:求能否用两种颜色对图染色,相邻的点不能同色。(还可以用并查集写)记住了!别人题解代码:...原创 2019-04-29 21:49:43 · 567 阅读 · 0 评论 -
并查集
并查集:合并、查询,把握效率!每个集合选取一个主要领头元素,方便查找。查找合并时间复杂度:O(m*α(n)),α函数是增长非常缓慢的函数。优化:路径压缩+按秩合并(小的合并到大的组)实现方式:一、数组实现:当数据是整型标识且不是很大#include<stdio.h>#include<stdlib.h>#include<string.h...原创 2019-04-09 20:18:39 · 110 阅读 · 0 评论 -
湖南省2019第十五届程序设计大赛I题:2019
I. 2019 Bobo 有一颗 n 个点的树,点的编号是 1,2,...,n. 树有 (n−1) 条边,第 i 条边的端点是 ai 和 bi,权值是 ci. 求满足 u < v 的 (u,v) 数量,满足点 u 到点 v 路径上的权值和是 2019 的倍数。输入格式输入文件包含多组数据,请处理到文件结束。 每组数据的第一行包含一个整数 n. 接下来 (n−1) 行,其中第 i 行包...原创 2019-09-01 00:03:31 · 894 阅读 · 1 评论