10月28日 小小犇的流水账

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

还有四十几分钟,这一天就要过去了,铭小锟同学,生日快乐哦!

原文地址:https://www.cnblogs.com/HLAUV/p/9867912.html