- 博客(33)
- 收藏
- 关注
原创 算法竞赛—数的划分
这题是把n分成k份,我们先考虑把i分成j份,先抽出j个1,剩下i-j个1 往这j个1里面塞。1. 递推函数前面要是long long , 选用 int 会导致部分测试用例无法通过。把这i-j个1分成一份,两份... ,最多分成j份,这样动态规划的递推公式就出来了。2. 二维数组要写在main函数之外,否则会导致部分测试用例无法通过。
2023-09-15 11:32:49
136
原创 算法竞赛进阶指南——起床困难综合症
然后从高位到低位慢慢去试,首要的是保证这个数不能大于m,然后要保证在上文那个函数下,函数返回的结果尽量是1。因而如果取0能保证返回的结果是1,那么取0,如果取0时返回的结果是0,那么若取1时返回的结果也是0,也取0。使用一个函数表示表示第i位的情况下,0-m的那个数在第i位取0或者取1时,最后得到的结果是0还是1。取0时返回的结果是0,取1时返回的结果是1,在保证取1不会超过m的情况下,可以取1。
2023-09-11 20:01:31
161
原创 算法竞赛进阶指南-哈密顿路径
此时的最短路径就是,在1001的状态下,最左端的1和最右端的1到达从左到右第二个1的最小值。使用一个f数组,一维表示点经过点状态,二维表示目前处于该点的最短路径。在某一个状态下,比如此时状态是1101,并且目前处于从左到右第二个1,使用二进制表示点的状态,然后遍历数组中所有的点的状态。i>>j & 1 : 取出二进制下i的第j位。i^(1<<j) : 表示将i的第j位取反。算出所有的这种状态,即可求出最短路径。
2023-09-09 15:16:55
164
原创 Cache中的位的种类
1.有效位:标记该位有没有被修改2.标记位:标记主存块号,在直接映射和组相联映射中标记位可精简3.数据位:标记块内地址4.脏位:代表Cache有没有被修改,全写法没有脏位,写回法有脏位,也叫修改位5.计数器为:LRU算法中用于计数用一般情况下Cache都有有效位,标记位,数据位,在写回法的时候多个修改位(脏位),在LRU算法的时候多个计数器位在王道书上一道题中提到了Cache的字地址:Cache的字地址的构成为:Cache行号+行内字地址......
2022-06-16 10:37:29
13526
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人