跳过正文

技术归档

这里保留完整的技术写作历史。较早的竞赛题解和课程笔记作为归档内容保存,不参与 首页精选;个人日记、面试记录和敏感内容不会在正式站点发布。

2016

hdu 3790 最短路径问题 (spfa模板题)

·1 分钟
hdu 3790 题目链接 题意:给出n个点m条无向边,每条边有一个距离和一个花费。给出s,t。问从s到t的最短距离以及最短距离时的最小花费。当有多个距离最短的方案时,选取花费最少的。

poj 1986 Distance Queries (lca,在线做法dfs+rmq)

·2 分钟
题目链接 题意:求树上两点的最短距离? 思路: dis[i]表示点i到根节点的距离,那么任意两点u,v的最短距离d = dis[u]+dis[v]-2*dis[LCA(u,v)]. 只需要求出rmq+dfs的在线方法求出lca(u,v)即可。

hdu 4122 Alice's mooncake shop(rmq)

·3 分钟
hdu2142题目链接 题意:有n个订单和可以在m小时内制作月饼 接下来是n个订单的信息:需要在mon月,d日,year年,h小时交付订单r个月饼 接下来一行t,s表示制作的月饼可以保质t天,每保质一天需要花费s的价值 接下来m行表示从第0小时开始在该时间制作月饼的花费的价值 求完成所有订单消耗的最小价值

hdu 3193 find the hotel (思维题)

·1 分钟
hdu3193题目链接 题意:给出n个price 和distance,找到一个集合,集合中的每对在全集中找不到比他price和distance都要小的元素。小于是严格的。

linux下的对拍写法

·1 分钟
1首先先生成三个程序: 2$ g++ a+b.cpp -o a+b 3$ g++ a+b2.cpp -o a+b2 4$ g++ make.cpp -o make 5然后生成数据 6$ ./make > in.txt 7然后运行两个程序 8$ ./a+b < in.txt > out.txt 9$ ./a+b2 < in.txt > ans.txt 10最后对拍 11$ diff out.txt ans.txt 12输出的结果可以man diff查阅一下相关文档中关于输出含义的内容 13注:上面的$都是命令提示符,复制粘贴时不需要

hdu 2888 check corners (二维rmq模板题)

·1 分钟
hdu2888题目链接 题意:问某个矩阵内的最大值,并且问最大值是否是在四个角中出现。 思路:二维rmq.需要注意数组稍微开大1就会MLE,因为是四维数组,一维大一点,整个就会大很多==。

poj 3294 Girls' research (manacher,回文串)

·3 分钟
poj 3294 题意:先做个简单替换,然后求替换后的字符串的最长回文串,以及这个最长回文串的开始和结束位置。 思路:manacher..需要注意的是,返回下标的时候如果字符串长度为偶数,那么中间是没有字符的。。。需要特判一下。。(我的做法是left+(ans%2==0);