山东省第六届ACM省赛题目
总结:这都是什么神仙题目,虽然说有简单的,但是感觉好几道题涉及到的知识点我以前没怎么重视过。看到师哥队昨晚这场比赛A了9道,本以为题目难度还行,看来是我高估自己了(师哥太强了)。好在是过的题目都是一遍过,罚时还是不错的。
A题
给你一些人的身高和体重,先把身高从小到大排个序,然后奇数号是一个队,偶数号是一个队,然后我们需要看哪个队伍的体重大一些,体重大的就赢得最后的比赛。考察结构体排序。
1 |
|
B题
第一眼看完题目就想到了用multiset,因为multiset可以自动排好序,同时还不会去重。然后我们找的时候从multiset里挨着找就行了。然后删除的时候,我们只需要删除一个数字,而不是全删除,这个需要注意。
1 |
|
C题
一道博弈题,一般我看到博弈就想直接放弃的,但是看到A的人挺多,不做的话也没题做啊QWQ。开始的时候写了前几个数字的答案,没发现什么。再后来重新做的时候,发现原来前面做错了几个数字,再理一遍思路,写出前几个数的答案,发现大于2的时候,全是另一个人赢,于是果断(其实是小心翼翼)的写了一个简单的代码就交了。A了,看来有的时候还真是需要敢想敢写。
1 |
|
F题
题目是读懂了,需要达到三角形内部的三边共点,问题是真的不知道怎么写啊。后来看别人的题解,发现有个赛瓦定理,好吧,原谅我数学真的不好。同时还需要二分。后来WA的原因也是因为eps开的精度不够高。附上赛瓦定理的图:
塞瓦定理是指在△ABC内任取一点O,延长AO、BO、CO分别交对边于D、E、F,则
$$\frac{BD}{DC}\times\frac{CE}{EA}\times\frac{AF}{FB} = 1$$
1 |
|
H题
J题
题目很简单,就是看两个数是不是相等,同时两个数还得都是11的倍数。注意题目中的数字可以非常大。师哥正好看到我在做这个题,当场指出我的错误,同时又耐心的告诉了我大数取模的处理方法。以前没涉及到这个,又收获了一点。
- c++
1 |
|
- JAVA
1 | import java.io.*; |