10.25 考试总结

10.25 考试总结

距离退役死亡越来越近。

circle

其实只要暴力查找就可以了

搜索跑图,稍微注意一下不要让法师反复横跳就可以了,多加一个数据就可以解决只要一找到已经访问过的就证明是环了....

开始想复杂了,以为可能有一个奇葩的图....原来就是一个简单的环啊

path

其实就是找必经之路,把一些可以多选择的....缩点,实际上就是tarjan缩点, 然后找桥。

桥就是我们要的必经之路

然后又要去学tarjan.....模板一下背不下来

mst

首先用prim 作出最小生成树。然后考虑修改哪条边的权值。
修改的边一定要选,那么我们只需要将这条边两端的点a; b 在最小生成树上的路径找出来,然后删掉路
径中边权最大的即可得到答案。
时间复杂度 \[O(n^2)\]

final

以我的能力就是暴力dijkstra了,最后好像是string爆空间了。实际上最好的应该是记录路径是最好的

这题有思维性,挺有意思的。三种算法都值得写。
用dijkstra + heap 实现算法。那么主要的问题是如何判断两条路径的字典序。
笨一点的方法:如果是两个字符串,则可以用二分+ hash 截取相同的前缀。然后看下一位的字符哪个更优即可。不过现在字符串都是路径,那么就不能二分,需要用倍增的方式来解决(类似LCA,需要先将两个字符串的长度变成相等的)。好像时间复杂度还不好过,而且不怎么好写。
聪明一点的方法:注意dijkstra 算法保证了字典序是递增的,所以每次如果需要更新一个点的路径时,我们只要比对最后一个字符(如果前面的串相等就比较,否则不需要更新)。在堆中更新也是类似的,如果前面相等就比较最后一个字符,否则更差。时间复杂度 \[O(n + mlog n)\] 。好写一些了。

原文地址:https://www.cnblogs.com/rendex/p/9866678.html

时间: 2024-10-12 06:50:50

10.25 考试总结的相关文章

10.23 linux任务计划cron10.24chkconfig工具10.25 systemd管理服务10.26 unit介绍 10.27 target介绍

- 10.23 linux任务计划cron - 10.24 chkconfig工具 - 10.25 systemd管理服务 - 10.26 unit介绍 - 10.27 target介绍 - 扩展 1. anacron http://blog.csdn.net/strikers1982/article/details/4787226  2. xinetd服(默认机器没有安装这个服务,需要yum install xinetd安装) http://blog.sina.com.cn/s/blog_46

云帮社区版10.25更新详情

17 项新功能.12 个bug修复.8篇文档更新.500+用户安装使用,云帮社区版 迎来10.25更新档 过去的1个月,我们收到了不同行业,超过500家企业用户在云帮社区版安装.使用以及优化配置过程中遇到的问题反馈以及对产品的建议.在这个过程中,我们发现了我们产品的诸多不足,同时也感受到了广大用户对我们产品给予的厚望. 通过这一个月紧张的开发和测试,我们的研发团队完成了 17 项新功能的添加,修复了 12 个中等级别以上的bug,并更新了 8 篇维护文档.同时还在GitHub上提交了2个服务检查

hdu 2069 1 5 10 25 50 这几种硬币 一共100个(母函数)

题意: 有50 25 10 5 1 的硬币 一共最多有100枚 输入n输出有多少种表示方法 Sample Input1126 Sample Output413 1 # include <iostream> 2 # include <cstdio> 3 # include <cstring> 4 # include <algorithm> 5 # include <string> 6 # include <cmath> 7 # incl

10.23 linux任务计划cron 10.24 chkconfig工具 10.25 system

八周一次课 10.23 linux任务计划cron 10.24 chkconfig工具 10.25 systemd管理服务 10.26 unit介绍 10.27 target介绍 10.23 linux任务计划cron 10.24 chkconfig工具 显示chkconfig服务 系统启动服务在inittab 10.25 systemd管理服务 10.26 unit介绍 10.27 target介绍 原文地址:http://blog.51cto.com/wbyyy/2066113

#10.4考试总结

10.4考试总结 P1017 进制转换 题目里的进制转换跟最开始做的区别就是这个权值是负数......在短除过程中可能会有各种问题..... 我想用短除就必须要解决这个负数的问题:-3/-2=2 要做到这个样子.....系统从来不会让你好过:-3%-2=-1,总会为难你一下.就需要自己想办法来解决这个问题 -m+n%m 这个样子就可以解决了.....然后题目就简单了起来.栈储存结果,或者递归输出随意就好 P1004 方格取数 没有仔细看数据范围.在认证研读了一边以后.....这.....(哔~~

#10.6考试总结

10.6考试总结 P1063 能量项链 其实是一道区间DP题.......应该并不难.就是DP做少了? 莫名不会.实际上仔细想一想就明白了.直接枚举分段点进行计算就可以了. for(int l = 1, r = x; r < n2; ++l, ++r) { for(int k = l; k < r; ++k) { f[l][r] = max_(f[l][r], f[l][k] + f[k + 1][r] + num[l] * num[r + 1] * num[k + 1]); } if(x =

10.11考试总结

10.11考试总结 全是DP实际上发现暴力也能有部分分....... 三角形牧场 DP......当时总是感觉不像啊 需要处理的就是枚举三角形边长可能出现的情况.因为周长在输入端时候就可以确定了,所以只需要通过枚举两条边就可以强行算出第三条边..... 所以就省空间+时间.... f[0][0] = 1; for (int i=1; i<=n; ++i) for(int j=half; j>=0; j--) for(int k=j; k>=0; k--) if(j >= d[i]

10.23 考试总结

10.23 考试总结 救火行动 不得不说还是想问候一下出题人的,那个白色的字是什么鬼.....不过看到了不要喧哗倒是很有意思 所以就是一个大模拟题.....因为比较麻烦,只不过数据很小,纯模拟循环都可以过的说. 考试的时候没有注意到一个点就是可以直接灭火的时候当前这一轮是不算这层着火的,也就是说第五层的火势应该只涨i-1 稍微注意一下这个就可以了,然后就还好,其余的还是都有好好注意到的 打篮球 这个题目我是考试的时候一下没有相同怎么建图....实际上暴力枚举各种参数就可以了. 然后就是纯最短最长

10.29 考试总结

10.29 考试总结 a 咋一看是暴力跑循环,实际上还是暴力循环.只不过根据题目意思,实际上公式\(f(x) + x = n\)而这个f(x)就是x各个位的和.大概脑补一下还是能算出来f(x)最大也就是9*位数就可以将整体的循环控制在几千...... b 设\(dp[i][j][k][0/1]\) 表示当前字符串s 到了第i 位,字符串t 到了第j 位,目前一共 选出了k 个子串,s[i] 与t[j] 是否都被选择的最大长度. 考虑s[i] 与t[j] ,如果我们不将它们加入选择的k 个子串,那