惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Vercel News
Vercel News
B
Blog
腾讯CDC
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
L
LangChain Blog
F
Fortinet All Blogs
T
The Blog of Author Tim Ferriss
人人都是产品经理
人人都是产品经理
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
T
Tailwind CSS Blog

博客园 - 老博客哈

[深入浅出系列]System.Environment HDU第11版解题报告(农夫版) 第(前)k大数问题 SRM 144-149 C#与Matlab混合编程的几种方式 Ajax开发框架(下)[整理] Ajax开发框架(中)[整理] Ajax开发框架(上)[整理] 语义网在线课程 Tidy - 一个把HTML 转成XHTML的工具库[整理] 2008企业级Web产品Top 10 (来源于ReadWriteWeb) (小规模)b牌棋盘完美覆盖数【整理】 一类棋盘互不攻击问题 稳定婚姻问题(Stable Marriage Problem) 《C#完全手册》中提到的一些内部工具及编译选项 TC 泛黄了 Introduction to String Searching Algorithms--Rabin-Karp and Knuth-Morris-Pratt Algorithms [翻译] TopCoder C# User List TCHS SRM 1
2007 South Central USA Regional Programming Contest 解题报告
老博客哈 · 2008-08-15 · via 博客园 - 老博客哈

2008-08-15 13:44  老博客哈  阅读(1331)  评论()    收藏  举报

2007 South Central USA Regional Programming Contest 解题报告

                                                                    农夫三拳@seu(drizzlecrj@gmail.com)

一、官方网址:

http://acm2007.cct.lsu.edu/

二、解题报告

1. One is an Interesting Number

按照题目描述的意思去做。可以预处理一下106以内的平方数,立方数,四次方数,尽量避免浮点运算。

2. Verdis Quo

罗马数字转换成十进制整数,注意一下a[i]<a[i+1]的情况即可。

3. The Screen Behind the Mirror

不错的计算几何题。考察的知识包括计算一条射线和一条线段的交点,镜面发射后的角度。前者可以通过直线的参数方程和向量知识求解,后者通过分解向量为水平和垂直两个方向求解(可参见http://www.geometryalgorithms.com/Archive/algorithm_0104/algorithm_0104B.htm)。对于入射光线,计算最先遇到的Object是什么,递归得出最终结果。【注:发现把一些东东写成类很方便】

4. Another Brick in the Wall

添加源点S,汇点T,构建无向图。S点到第一排的所有点的权值为1,T点到最后一排的权值为0,其余每一个点与其相邻的点的权值为1当且仅当它们两者值不同,否则权值为0。其余不相邻的点权值为INF。计算S点到T点的最短路径即为结果。

5. The Sidewinder Sleeps Tonite

判断一个图形是否闭合,只需要考察每一个为’#‘的点的四周‘-’和‘|'的数量为0或者2(这里需要注意有可能会出现#的上方是’-‘,而下方是‘|’的情况,似乎测试数据没有包括类似这种的情况,但是我觉得应当考虑);判断一个非问号的数字是否正确,只需要计算它四周的'-'的数量和‘|‘的数量是否与其自身相同; 判断闭合图形是否唯一,只需要沿着一条’-‘或'|'的边进行dfs,最终检查是否存在某条边没有被标记,同样我觉得这里应该检查闭合图形的合法性。

6. Rout 66

模拟题

7. Schottkey 7th Path

较复杂的字符串处理题, 我用map<string, vector<string> >搞的

8. Another Version of the Truth

刚开始我也认为这题是博弈...

通过BFS预处理每个点到每个Player的最近距离, 接着O(D*D)枚举摆放位置,进一步bfs,最终求一个最大的位置。我写的复杂度是O(D4*P2),其实可以写成

O(D4*P)。原因在于第二次的bfs过程可以直接求出增加的Influence的个数,而不需要与其它的对手再比较。

9. The Final Countdown

这题有个trick,有可能Countdown的时间已经超过了Start的时间。解法是分别保存每一个条件为true和false的holdtime,并取其中的最小值和最大值分别加入到

结果中。