随笔分类 -  ACM练习题

上一页 1 ··· 3 4 5 6 7 8 下一页
摘要:自己对拓扑排序的理解: 例如:安排一些课程的顺序,这些课程有的可以放在一个学期内授课,而有的则有先后顺序,则可以通过拓扑排序来完成这个排序。 有序无环图(DAG)才能进行拓扑排序。 从图中找出没有入度顶点,存入答案序列中,并将以该点为起点的边从图中删掉。知道找完所有的点为止。 图例:(从左往右看) 阅读全文
posted @ 2018-10-02 19:26 sykline 阅读(232) 评论(0) 推荐(0)
摘要:自己对归并排序的理解: 归并排序采用分治法来实现,将要排序的数组对半拆分,当拆分到单个元素的时候,在进行合并这时按照一定的顺序合并到临时数组temp中,最后在存入原来的数组中。 代码: 1 #include <iostream> 2 #include <cstdio> 3 #include <cma 阅读全文
posted @ 2018-10-02 19:25 sykline 阅读(130) 评论(0) 推荐(0)
摘要:如下图:要求最多可以凑成多少对对象 大佬博客: https://blog.csdn.net/cillyb/article/details/55511666 https://blog.csdn.net/denghecsdn/article/details/77619308 https://www.cn 阅读全文
posted @ 2018-10-02 19:23 sykline 阅读(459) 评论(0) 推荐(0)
摘要:Cat VS Dog 题意:一群小朋友去动物园,如果每个小朋友喜欢的动物是猫,那么不喜欢的动物一定是狗,反之也是。现在动物园的管理者要拿走一些动物,如果拿走的是某个小朋友不喜欢的动物,那这个小朋友就非常开心,反之,如果是某个小朋友喜欢的动物,这个小朋友就非常的不开心,问那完后最多有几个小朋友会非常开 阅读全文
posted @ 2018-10-02 19:21 sykline 阅读(339) 评论(0) 推荐(0)
摘要:题目链接:UVA1001 题意:在一个巨大奶酪中的A要以最短的时间与B相遇。在奶酪中走一米的距离花费的时间是10s,而奶酪中有许多洞,穿过这些洞的时间是0s。给出A、B以及各个洞的坐标,求最短的时间。 三维??乖乖,这怎么用最短路算法。在搜了题解后才知道可以编号压缩成二维啊,这操作骚气,实在想不出来 阅读全文
posted @ 2018-10-02 19:20 sykline 阅读(221) 评论(0) 推荐(0)
摘要:题目:Slim Span UVA 1395 题意:给出一副无向有权图,求生成树中最小的苗条度(最大权值减最小权值),如果不能生成树,就输出-1; 思路:将所有的边按权值有小到大排序,然后枚举每一条边,以这条边开始利用Kruskal算法生成树,生成过程中求出权值的最大值,这个最大值减去当前枚举的边的权 阅读全文
posted @ 2018-10-02 19:17 sykline 阅读(115) 评论(0) 推荐(0)
摘要:UVALive 3026 KMP中next[]数组的应用; 题意:给出一个字符串,问该字符串每个前缀首字母的位置和该前缀的周期。 思路:裸KMP直接上就是了; 设该字符串为str,str字符串的长度为len,next[]的有关前缀的周期的性质: 如果len % (len - next[len]) = 阅读全文
posted @ 2018-10-02 19:16 sykline 阅读(104) 评论(0) 推荐(0)
摘要:HDU4027 题意:操作指令为0时,对区间[x,y]之间的数字进行开平方;指令为1的时候,对区间[x,y]之间的数字求和并输出; 思路:线段树处理就OK了,但是64位内的数最多开8次平方就为1了(开始不信,试了试之后orz.......),所以在开平方的时候加一下限制条件使开平方操作提前结束没必要 阅读全文
posted @ 2018-10-02 19:15 sykline 阅读(286) 评论(0) 推荐(0)
摘要:题目: 思路:先离散化数据然后树状数组搞一下求逆序数。 离散化的方法:https://blog.csdn.net/gokou_ruri/article/details/7723378 自己对用树状数组求逆序数的理解:输入数据并利用树状数组求出前边比它小和等于它的数据有几个,用输入数据的总的个数减去比 阅读全文
posted @ 2018-10-02 19:14 sykline 阅读(341) 评论(0) 推荐(0)
摘要:不容易系列之一 题意: 一个人要寄n个信封,结果装错了。信纸的编号为1到n,信封的编号为1到n,信纸的编号不能和信封的编号一样,全都不能一样。 思路:错排公式。 D(n)表示n件信封装错的所有的情况。 1、将编号为n的信纸装进编号为k的信封,有n-1中装法; 2、再将编号为n-1的信纸装进信封,此时 阅读全文
posted @ 2018-10-02 19:13 sykline 阅读(162) 评论(0) 推荐(0)
摘要:Kefa and Company 题意:Kefa这个人要去吃饭,他要邀请一些朋友一起去,他的每个朋友有两个属性金钱和关系度,要求邀请的人里边任意两个人之间的金钱差的绝对值不大于d;求被邀请的所有朋友的关系度的和的最大值。 思路:将朋友按金钱从小到大排序,然后对关系度用尺取法求得最大值 ,这里要用前缀 阅读全文
posted @ 2018-10-02 19:12 sykline 阅读(273) 评论(0) 推荐(0)
摘要:Entertainment Box 题意: 有n个节目,每个节目给出开始时间(st)和结束时间(en); 有k个内存条这k个内存条可以同时存储节目。如果节目j的开始时间stj 大于等于节目i的结束时间,就可以放进内存条中; 问这k个内存条最多可以存储多少个节目。 思路:开一个multiset容器,开 阅读全文
posted @ 2018-10-02 19:11 sykline 阅读(174) 评论(0) 推荐(0)
摘要:HDU5884 Sort 题意:有n个序列要进行归并,每次归并的代价是两个序列的长度的和,要求最终的代价不能超过规定的T,求在此前提下一次能同时进行归并的序列的个数k。 思路:还是太单纯,看完题目一直以为要用归并排序来解题,如果已经看过多叉哈夫曼树的知识的话估计就不会这样了。先二分查找这个k,然后用 阅读全文
posted @ 2018-10-02 19:10 sykline 阅读(429) 评论(0) 推荐(0)
摘要:题意:给出n个模式串和一个文本串,问在文本串中出现了几个模式串。 思路:AC自动机裸题; 看过n个版本的AC自动机后终于理解了代码是如何实现的。再一次体会到光懂得原理和能利用原理解决问题之间的巨大的鸿沟。 代码: #include <iostream> #include <cstdio> #incl 阅读全文
posted @ 2018-10-02 19:08 sykline 阅读(256) 评论(0) 推荐(0)
摘要:Coefficient Computation UVALive8265 题意:计算组合数C(n,k)的值并将值按给定的进制输出。 思路:Java大整数类硬上。 PS:刚刚学完Java的大整数类,结果却被Java怎么开数组卡到吐血,直接后果就是少开一题,赛后学长指导后5分钟出题,真酸爽…… 包:jav 阅读全文
posted @ 2018-10-02 19:07 sykline 阅读(361) 评论(0) 推荐(0)
摘要:传送门:Chat Group(gym101775A) 题意:一个宿舍中又n个人,最少k(k >= 3)个人就可以建一个讨论组,问最多可以建多少个不同的讨论组。 思路:求组合数的和,因为涉及除法取余,所以要求逆元来解题。 虽然之前看到过有关逆元的知识,但是一直没有弄明白逆元的应用。嗯~~挖下的坑终于把 阅读全文
posted @ 2018-10-02 19:06 sykline 阅读(325) 评论(0) 推荐(0)
摘要:复杂度:O(n^2) C[i][j]即为C(i,j); #include <bits/stdc++.h> using namespace std; const int MOD = 1e9+7; const int maxn = 1e3; typedef long long ll; int n,k; 阅读全文
posted @ 2018-10-02 19:05 sykline 阅读(1286) 评论(0) 推荐(0)
摘要:逆元: 如果满足公式,则有a 是 b的逆元同时b也是a的逆元。 逆元的应用: 设c为b在对m取余的意义下的逆元; 在求解公式 (a / b) % m的时候,如果b可能会非常的大,所以会出现爆精度的问题,这个时候就需要将除法转换成乘法来做,即: (a / b ) % m = (a * c)%m。 逆元 阅读全文
posted @ 2018-10-02 19:03 sykline 阅读(357) 评论(0) 推荐(0)
摘要:当年没填起来的坑,迟早会再一次掉进去!!!想想还是将现在自己会用了的部分记录下来,以后再做补充。 欧几里得算法: 到目前为止也只是用来求一下两个整数的最大公约数(感觉又是一个巨大无比的坑)。暂时先把这个用法记下来吧。 //非递归实现 long long gcd(long long a,long lo 阅读全文
posted @ 2018-10-02 18:57 sykline 阅读(557) 评论(0) 推荐(0)
摘要:唯一分解定理:任何一个大于1的自然数N,如果N不是质数,那么N可以分解成有限个素数的乘积;例:N=(p1^a1)*(p2^a2)*(p3^a3)......其中p1<p2<p3...... 在做 UVA10375 时学到了这个算法,虽然自己理解的还不透彻,先把自己的看法写下来,日后再完善; 要用唯一 阅读全文
posted @ 2018-10-02 18:55 sykline 阅读(412) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 下一页