今日要点
- memset()不能赋-2这种,只能用0和-1
【百度百科】 memset函数按字节对内存块进行初始化,所以不能用它将int数组初始化为0和-1之外的其他值(除非该值高字节和低字节相同)。
- 一定要耐心的先想清楚暴力,一题一题来,现在要赶紧练打暴力的速度
- 一些在线的题 初始化的操作要注意
考试
今天的文言文题面(_ _)|||
T1 seawish
其实找到了一点点规律的,然后也经历了倒着推的过程,结果倒着推的数据选的太复杂,就没有如预期中的那样成功得到40%思路,也没有打出表找到规律。
T2 umbrella
本来暴力打得好好的结果到最后一部发现自己不会保留小数,可能考试太紧张了8,考完再想一想,就直接double除double…保留8位就行了。
T3 dream
国训队论文题?
模拟都不会啊。
讲课
T1 【题目精简版】(额)
typedef long long LL; LL f(LL a, LL b){ if(a == b) return 0; if(a == b) return f(a−b, b+b)+1; else return f(a+a, b−a)+1; }
求:
∑i=1n∑j=1nf(i,j)
【后面这一竖不知道怎么去掉,打了好久这个公式啊..】
【此处未考虑死循环情况,仅解释题意】
容易发现,若(a, b)互质,当且仅当i + j =
2p
(p ≥ 2)时f值非0,且f(i, j) = p−1.
设
g(n)=∑i=1n∑j=1n[gcd(i,j)=1]f(i,j)
计算g(n)复杂度O(logn)。
因为(i, j)不一定互质,那么我们枚举gcd(i, j),求出 ∑ni=1g(n/i)
对g(n/i)根号分段即可。
效率O( n‾√ logn)
T2【题目精简版】
令g(n)表示n能表示成几种不同的完全k次方数(k ≥ 2),求
f(n)=∑i=2ng(i)i
此题正解积分什么的不会,最多做到40%,即:
计算每个数的贡献,即求:
∑x=2n√∑y=2n⌊x1⌋1xy
暴力计算,效率O(nlogn).
T3【题目精简版】
给定一个图,动态加边和删边,求其传递闭包。
暴力:Floyd求闭包【不会传递闭包啊】
正解:bitset压位+线段树(也可以不要线段树,只是真正的极限数据过不了,但支持在线操作)
我还是先了解了传递闭包8。。= =||