摘要: 这个题暴搜10分钟写出来了,也AC了。但听XLK和LYD神牛讲的欧拉回路的方法,真心跪了!XLK题解(有改动):很显然,第一问的答案就是2^n。第二问,构造一个有2^(n-1)个节点的图,对应2^(n-1)个n-1位二进制数。从代表数k的节点(0<=k<2^(n-1))向代表数(k<<1)&(1<<n-1)的节点,和代表数(k<<1)&(1<<n-1)+1的节点分别连一条边。可以发现这样的图中,所有点的入度和出度都是2,因此这是一个欧拉图。因此我们从0号点开始dfs寻找一个欧拉回路,回溯的时候记录到栈中,最后倒序输出即 阅读全文
posted @ 2012-08-21 23:11 proverbs 阅读(1247) 评论(0) 推荐(0) 编辑
摘要: 【官方题解】第一届『Citric杯』NOIP提高组模拟赛 题解第一题 柠檬超市这题是本次模拟赛的送分题。做法显然。但是注意此题有一个陷阱:注意W和C的规模都是10^9,所以如果直接用double来存储性价比会挂精度(999999999/1000000000和999999998/999999999的差距只有10^-18,这么微小的差距double是分辨不出来的)正确做法是,把除法的除数移项,转化成乘法,然后用int64或long long。另外一个讨巧的方法是用long double或extended来存储性价比,因为long double/extended的有效数字比double更多,所以勉强 阅读全文
posted @ 2012-08-21 13:19 proverbs 阅读(814) 评论(1) 推荐(0) 编辑