Loading

随笔分类 -  算法----------

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 18 下一页
摘要:我把双指针技巧再分为两类,一类是「快慢指针」,一类是「左右指针」。前者解决主要解决链表中的问题,比如典型的判定链表中是否包含环;后者主要解决数组(或者字符串)中的问题,比如二分查找。 一、快慢指针的常见算法 快慢指针一般都初始化指向链表的头结点 head,前进时快指针 fast 在前,慢指针 slo 阅读全文
posted @ 2020-09-11 21:23 RioTian 阅读(1624) 评论(0) 推荐(1)
摘要:题目分析: 这是一个经典的Multi-SG游戏的问题。 相较于普通的Nim游戏,该游戏仅仅是多了拆成两堆这样的一个状态。即多了一个SG(x+y)的过程。 而根据SG定理,SG(x+y)这个游戏的结果可以拆成SG(x)和 SG(y)游戏的结果的xor。 因此,在我们求SG函数的过程中,我们只需要再** 阅读全文
posted @ 2020-09-10 19:54 RioTian 阅读(146) 评论(1) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/HDU-2897 题目大意: 就是现在一堆石子有n颗, 每次只能拿走p~q颗, 当剩余少于p颗的时候必须一次拿完 拿走最后一颗的人败 问谁会获得胜利 大致思路: 首先不难发现当n ⇐ p的时候是必败点(P点),那么对于p + 1 ⇐ 阅读全文
posted @ 2020-09-10 19:31 RioTian 阅读(159) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/contest/1047/A Description 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为Hi, 阅读全文
posted @ 2020-09-03 17:22 RioTian 阅读(179) 评论(0) 推荐(0)
摘要:在面试的过程中,除了常规的算法题目,我们经常也会被问到一些趣味题型来考察思维,而这类问题中,很多都有博弈论的影子存在。这些公司里以FLAG(Facebook, LinkedIn, Amazon, Google)为典型,特别喜欢考察本类题型。同时,本系列将不一定都是算法问题,不是IT行业的小伙伴也可以 阅读全文
posted @ 2020-09-02 17:30 RioTian
摘要:使用状态压缩,最好了解 位运算使用 SCOI2005 互不侵犯 ​ 在 \(N\times N\) 的棋盘里面放 \(K\) 个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共 $8$ 个格子。 我们用 \(f(i,j,l)\) 表 阅读全文
posted @ 2020-09-02 09:32 RioTian 阅读(261) 评论(0) 推荐(1)
摘要:位运算就是基于整数的二进制表示进行的运算。由于计算机内部就是以二进制来存储数据,位运算是相当快的。 之前有总结过位运算的技巧,但稍微对以前写的文章不太满意,所以重新总结一下 常用的运算符共 6 种,分别为与( & )、或( | )、异或( ^ )、取反( ~ )、左移( << )和右移( >> )。 阅读全文
posted @ 2020-09-02 08:05 RioTian 阅读(20534) 评论(3) 推荐(4)
摘要:首先简单阐述一下递归,分治算法,动态规划,贪心算法这几个东西的区别和联系,心里有个印象就好。 递归是一种编程技巧,一种解决问题的思维方式;分治算法和动态规划很大程度上是递归思想基础上的(虽然实现动态规划大都不是递归了,但是我们要注重过程和思想),解决更具体问题的两类算法思想;贪心算法是动态规划算法的 阅读全文
posted @ 2020-09-01 21:15 RioTian 阅读(5188) 评论(0) 推荐(3)
摘要:我相信大家都有做过寻找和为定值的两个数这道题,但如果转换一下 寻找和为定值的多个数 该怎么办呢? 题目描述 输入两个整数n和sum,从数列1,2,3.......n 中随意取几个数,使其和等于sum,要求将其中所有的可能组合列出来。 分析与解法 解法一 注意到取n,和不取n个区别即可,考虑是否取第n 阅读全文
posted @ 2020-08-31 21:23 RioTian 阅读(744) 评论(0) 推荐(0)
摘要:https://codeforces.com/problemset/problem/1288/C Examples input 2 2 output 5 input 10 1 output 55 input 723 9 output 157557417 Note In the first test 阅读全文
posted @ 2020-08-29 21:37 RioTian 阅读(336) 评论(1) 推荐(0)
摘要:作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。 终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命。 具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R的袜子中随机选出两只来穿。 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是 阅读全文
posted @ 2020-08-25 11:26 RioTian 阅读(185) 评论(1) 推荐(0)
摘要:题目连接:Codeforces 451B Sort the Array 题目大意:给出一个长度为n的序列,可以有一次机会旋转a[l]到a[r]之间的数,问说可否形成一个递增序列。 解题思路:将数组排下序,然后从前向后,从后向前寻找不同到位置,这段l~r是一定要旋转的,然后判断旋转后的符不符合递增。注 阅读全文
posted @ 2020-08-24 09:40 RioTian 阅读(264) 评论(0) 推荐(0)
摘要:题意: 给你每个人的上级,并且一个人和他的所有上级都不能在一个party(小组)中(这点是根据题目给出的两点推导出来的),问最少需要几个party。 思路: 并查集,找一个集合中层级数最多的就是最少需要的party数量。 #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2020-08-23 11:02 RioTian 阅读(165) 评论(0) 推荐(0)
摘要:定义 先复制一则定义 A*算法在人工智能中是一种典型的启发式搜索算法 启发中的估价是用估价函数表示的: h(n)=f(n)+g(n) 其中f(n)是节点n的估价函数 g(n)表示实际状态空间中从初始节点到n节点的实际代价 h(n)是从n到目标节点最佳路径的估计代价。 另外定义h'(n)为n到目标节点 阅读全文
posted @ 2020-08-19 17:25 RioTian 阅读(286) 评论(0) 推荐(0)
摘要:本文介绍线性代数中一个非常重要的内容——矩阵(Matrix),主要讲解矩阵的性质、运算以及在常系数齐次递推式上的应用。 定义 对于矩阵 \(A\),主对角线是指 \(A_{i,i}\) 的元素。 一般用 \(I\) 来表示单位矩阵,就是主对角线上为 1,其余位置为 0。 性质 矩阵的逆 \(A\) 阅读全文
posted @ 2020-08-19 14:43 RioTian 阅读(1070) 评论(1) 推荐(1)
摘要:0x56 动态规划-状态压缩DP Mondriaan's Dream Description Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One night, after producing t 阅读全文
posted @ 2020-08-18 11:18 RioTian 阅读(196) 评论(0) 推荐(0)
摘要:A.没有上司的舞会 基础树形DP emmm,蒟蒻发现自己的DP太辣鸡了。。。所以来练练DP,这题的话实际上应该算是树DP的入门题吧,转移还是挺好想的。 每次在每个节点都会有个选择,就是选还是不选,如果选的话,那么它的儿子节点就不能选,如果不选的话它的儿子节点就可以选,也就是说我们需要另开一维状态来记 阅读全文
posted @ 2020-08-17 16:26 RioTian 阅读(176) 评论(1) 推荐(0)
该文被密码保护。
posted @ 2020-08-17 09:28 RioTian 阅读(40) 评论(2) 推荐(1)

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 18 下一页