小心POW——一次OI刷题心得
一如既往的每周OJ两题时间,不过这一周有点不太愉快。
题面就不贴出来了,不过是一个数值范围在1e18以内,需要同时用到取对数和求幂的题。
用了常规的写法,CPP直接用了cmath库里的**log()和pow()**方法来求值。发现前五个数值范围在1e6内的成功AC,但是后五个1e18的就挂掉了。
于是全局int改用long long,**log()也改成了log10()**,问题依旧。
从晚上十一点反复改到凌晨四点,加上强制类型转换依旧无果,最终心态崩了。昨天一整个白天我都没上线,原因就在这(哭到天亮,然后睡了个不省人事)。
后来痛定思痛,把所有除了取对数以外涉及到浮点数的都手写成了整型模式,终于过了。罪魁祸首也终于浮出水面:**pow()**。
在cmath库里,**pow()**是基于浮点数运算的,返回值转回int时必然会有精度损失。
尝试在OJ上复现,但是因为自己想到的数字太小都没成成功,而且因为黑箱我也看不到输出结果。
查了一圈,最后在CSDN上发现了类似的情形:链接
最后得出了惨痛教训:整型慎用**pow()**。
实际上是慎用强制转换
从此,我的轮子库里又多了一个用long ...
获取12306列车时刻表的一点个人思路
Database这门课的大Project是要做一个类似12306的数据库系统,不过在写框架之前总得有样例数据才来的安心。这篇文章闲来无聊就先写一下自己的思路吧。
准备工作2020年之后12306.cn经历了大的调整,原有的教程大多都已不可用,不过还有少数接口依然保留而且有在返回较新的数据。
首先感谢GitHub Developer metromancn的Parse12306,主要思路大部分来自于他的成果。
经过实测,目前可用的有车站信息和车次信息两个接口。
车站信息
车次信息
那么,接下来开始轮询时刻表获取完整车次信息。
通过访问12306官网,得出对应URL(以2020-04-06日的Z3次列车为例):
https://kyfw.12306.cn/otn/queryTrainInfo/query?leftTicketDTO.train_no=24000000Z30L&leftTicketDTO.train_date=2020-04-06
除此之外也得到了关键词检索得出全部相关车次信息的接口,不过这次Project并不需要用到,所以先放到一边。
得到以下 ...
我的2019event总结
感慨虽然我只是个半吊子eventer,但说到今年的经历,也称得上是五味杂陈了。上半年陪着十字母团跑遍了中国大陆+香港,暑期又去埼玉结束了整个系列巡演的最后一场,下半年等来的就是合约到期离开索尼的噩耗。
不过惊喜的一点是入了BanG Dream!这个企划的大坑之后,花销反倒没有想象中的那么高。比起十字母团中国区巡演门票动辄800+,单张到手1W日元左右倒还在可接受的范围内,只不过来回日本的机酒就是另一笔不小的开支了(好在是时间够充裕的话还可以顺路带带场贩,或者去当代购补贴一部分成本)。在LIVE门票之外的开支,除了法被和BD似乎也并不多,毕竟人穷也买不了那么多花里胡哨的东西,除了对R收了一整盒吧唧之外,就只有毛巾、T和官棒能花的出去钱了(场刊可以事后慢慢收,成色不会太差,又会比现地买便宜不少,除非是有重大意义的LIVE)。
总结经历按照国际惯例,先甩一张表格好了。
时间
活动名
地点
2019.3.30
GARNiDELiA stellacage Asia Tour 2019 “響喜乱舞” 香港
香港 麦花臣场馆
2019.4.6
GARNiDELiA stellacag ...
我又回来了
在经历反反复复的搬家,从wordpress到echo,再到四处漂泊,如今终于最终定下来了现在的hexo。
老实说我也并不希望来回搬家,毕竟前面的post已经彻底不可寻了。但是由于服务器的频繁宕机和自己技术过于屑,经常性导致博客爆破,最终无奈加入了GitHub Pages,拥抱了hexo的静态方案。
就这样,前面的文章既然找不回来就不找了,从今以后也是一个新的开始了。
请多关照。
よろしくお願い致します。