
算法
文章平均质量分 55
su_ren
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj-1704
题目是一个nim游戏的改版可能各位大牛看来不成问题,但是萌新入手还是不错的只需要前后两个看成一个石子堆就可以了。可能会与疑问,棋子往左石子堆就增加了,但是右边的棋子移动,就石子堆减少了,可以回到原来的状态,所以可以用nim游戏的解法。奇数个棋子就把其中一个单独拿出来就行了,或者往里面加一个位置为0的。然后有个坑是数据是没经过排序的。这里wa了2次,果然萌新。#include原创 2017-06-16 11:51:05 · 385 阅读 · 0 评论 -
AVL树的插入操作(旋转)图解
AVL树的概念 转载至:cc在说AVL树的概念之前,我们需要清楚二茬搜索树的概念。对于二叉搜索树,我们知道它可以降低查找速率,但是如果一个二叉搜索树退化成一棵只剩单支的搜索树,此时的查找速率就相当于顺序表中查找元素,效率变低,时间复杂度由原来的O(logN)变为O(N)。 此时就有了AVL(高度平衡二叉搜索树),从它的名字就能知道转载 2017-06-16 21:29:33 · 1646 阅读 · 0 评论 -
hdu-3790
问题描述:参考hud3790就只是一般的dij加几行代码。其中注意更新最小花费应该是在路程相同时更新,初始化好一般没什么问题。AC代码:#include #include #include #include #include #include using namespace std;const int maxn=1000+10;const i原创 2017-07-15 11:40:15 · 373 阅读 · 0 评论 -
【转】找出游戏的必胜策略——Nim与Grundy数小记
原文地址:http://endless.logdown.com/posts/2014/05/05/find-out-the-winning-strategies-of-the-game-nim-and-grundy-number-notes原文访问真心慢,所以转下,侵权必删见 Codeforces 197A Plate Game。(经典博弈,我们选修课老师在上课时提到过此题)转载 2017-07-15 11:43:45 · 3169 阅读 · 1 评论 -
矩阵快速幂
计算过程中避免溢出,最好用long long来定义有必要时用unsigned long long水水的代码如下,权当记录#include #include #include #include #include #include using namespace std;typedef vector >mat;typedef vector vec;原创 2017-07-15 20:53:48 · 368 阅读 · 0 评论 -
poj-3734
挑战算法程序设计的例题描述见问题出处AC代码:#include #include #include #include #include #include using namespace std;typedef vector >mat;typedef vector vec;const int mod=1e4+7;mat mul(mat a,原创 2017-07-15 20:56:07 · 407 阅读 · 0 评论 -
CodeForces 721C
问题描述:CodeForces 721C思路:这是一个拓扑图,询问从1到n在T时间内最多能观光几个景点,并输出顺序,有边权。这题是一个拓扑dp,考虑dp[i][j],到达i点时,观光了j个景点的最小时间转移是这样对于一条边u -> v,dp[v][j] = min(dp[v][j],dp[u][j - 1] + dis[u][v]);当时不会保存多个点的情况,用dp保存即可。A原创 2017-07-16 23:48:13 · 510 阅读 · 0 评论 -
CDOJ-UESTC 857-Boiling Vegetables
题意:初始有N颗菜重量分别是w1,...,wn,问你最少切几刀,使得这些菜的最轻和最重的比例符合思路:师兄做法,考虑到答案说了小于500次,那我们可以用一个优先队列把这些菜记录起来,然后每次选取最重的菜开始和最轻的比较,如果符合比例就退出来,否则我们就把这个菜i切成++cut[i]份(初始为1),切的时候是平分,因为切的不均,就会产生大的和小的,会影响结果。所以贪心切。AC代码:原创 2017-07-16 23:53:02 · 392 阅读 · 0 评论