12:12:05
过完了17岁的第一个12小时(是的,今天过生日呢)
早上九点钟才开始考试,题目感觉有点毒啊。T1统计合法子图个数(凉),在刚刚过去的十几分钟里写了30分暴力。
T2 数学期望题,写了DP(求不超时),因为一些神秘而隐蔽的错误调试了好久。
T3 额 k 型氙激光器( Xenon Laser - k,代号 XLk)是什么狗,看起来就是数位DP嘛,不过没有想到很优秀的做法。
22:31:38
今天连着参加了三场模拟赛,一直没有时间来写日记、写总结,先把成绩放上来。
在“老家”里的模拟实战
T2 超级可惜的居然超空间了!!结果100分硬生生变成了0分。本来估计好开了double 型也就122Mb,应该是稳的,没想到还是超了(!),自从上次在泉州基地校因超空间爆零以来这是我第一次超空间
T1 居然只是一个用并查集维护的结论。方案数就是 2元环数 ,然后元环可以在加边时用并查集统计。
下午在洛谷上考,成绩还算可以吧(为什么T2的暴力高精度炸了?)
等一下写完T2再来写总结。
晚上在牛客网上考,只A了一题,T2是用容斥原理求的组合数学题,愣是不知道怎么求,等一下要写一下这一题。
23:06:43
来补写一下下午第二题的小总结。
知道怎么求一个十进制数的位数吗?(我知道!我知道!直接手动数数字!)
那计算机没手怎么数呢?(...!我知道!我会for循环,我会%,我会/,我还会sum++)
那怎么算两个进制数相乘以后的位数呢?(乘完再数?高精度?随机感知..?)
首先我们知道 如果一个数是 10n 那它的位数一定是n+1对吧,所以一个十进制数可以表示为 10lg x所以此时x的位数就是 lg x + 1 了(记得下取整哦)
所以两个十进制数相乘 即 10lg x * 10lg y = 10lg x + lg y, 所以最终的位数就是 lg x + lg y + 1
其他进制的数也可以这样类似转化的(懒得写了) ,C++可以直接在cmath库里直接调用log的(太棒了吧!)
23:18:04
还有四十几分钟,这一天就要过去了,铭小锟同学,生日快乐哦!