- 博客(26)
- 收藏
- 关注
原创 使用WSL完成xv6-riscv实验
WSL(Windows Subsystem for Linux)是Windows10系统级支持的运行Linux内核的方法,相比于虚拟机,其启动更快,访问windows文件也更加方便,缺点是没有图形界面如果您的win10系统已经安装过WSL,那么很可能由于Hyper-V开启而无法兼容其他虚拟机。那为什么不用WSL来完成lab呢步骤0到步骤5和微软官方帮助手动安装WSL2的方法完全一致,如果自己可以熟练安装WSL2,或更想参考官方文档,请在完成后跳到步骤6步骤 0:确保Windows版本可以支持请确保您
2021-04-10 17:22:31
1790
1
原创 一种高效的剪枝解数独策略
数独是一种经典的智力游戏。数独可以转化为精确覆盖问题,从而使用精确覆盖问题的通用解法:舞蹈链(DLX)来解决。本文将介绍一种通过通过回溯法与剪枝来解决数独的方法。经OJ测验,其效率与DLX相差无几,甚至比DLX略快。
2019-03-24 18:52:38
1571
原创 【HDU3445】The Diary of Math Teacher —— 斯特林数
打一波脸,以为学完OI就不更了结果转眼更了两篇 容易注意到f(x)的给出形式是一个n次多项式,括号内的数每增加一次相当于对相邻位置的函数值进行一次差分。 我们尝试对f(x)进行一次差分,看看能不能找出一些规律 f(x+1)−f(x)=∏ni=1(x+ai+1)−∏ni=1(x+ai)f(x+1)−f(x)=∏i=1n(x+ai+1)−∏i=1n(x+ai)f(x+1)-f(x)=\prod_...
2018-06-21 22:02:40
421
原创 树状数组的奇妙应用,99%的人都不知道!
提到树状数组,大多数人的印象是只能求区间的前缀和。然而,树状数组还有很多其他的用法,用来替代线段树可有效降低空间复杂度和代码长度。 贴一份前缀和代码以供参考。int c[maxn];int n;//可能的下标最大值int lowbit(int x){ return x&(-x);}void add(int p,int v)//修改单点{ while(p...
2018-06-20 17:38:18
744
1
原创 【CodeVS1021】玛丽卡 最短路+线段树
题目链接 声明:感谢fzw(kryj)的创意和热心讲解题目描述麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复。 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行。 在这个国家中每两个城市之间最多只有一条路相通,并且我们知道从一个城市到另一个城市路上所需花费的时间。 麦克在车中无意中听到有一条路正在维修,并且那儿正堵车,但没听清楚到底是哪一条路。无论哪一条路正在维修,从...
2018-06-17 16:21:10
496
原创 【Codeforces316D3】【CF316D3】PE Lesson
题目大意有n个小朋友手里各有1个球,其中每个人只能把手里的球和别人交换1或2次。输入每个人可交换的次数,求可能的交换方案数。题解每个人都把球给一个人,如果将u想要让v拿到自己的球看做是u到v有向边,那么可以把换球方案看做是若干个环。 其中,若一个环上有两个人或更少是体力为1的,则可以进行交换。其中有0个易证。有1个的交换方法如下,其中黑箭头表示想让谁拿自己的球,空心箭头表示一次交换 有两个的
2017-01-19 20:58:04
989
原创 【CF331C】【Codeforces 331C】 The Great Julya Calendar
算是从文化课解脱出来以后第一道正经的题了 竟然没有题解,果断补一个题目大意输入正整数n(0<=n<=10^18),求每次减去一个数位上的数字,最少几次可以把n减成0题解看到数据范围就知道一定要按照数位讨论,但是取法都不知道怎么按数位看?因此考虑贪心 首先这里有个有趣的结论,最优解法一定是每次减去尽可能大的数字 证明:分别讨论最后一位是1~9亦或是0,结合数学归纳法可以得f(n)>=f(n-1)
2017-01-17 20:32:58
2193
2
原创 【NOIP2015】【bzoj4326】【uoj146】运输计划 ——O(n*log)算法
最大数据是n,m=300000,所以应该试着把时间压在n*log以内考虑修改一条边后,所有长度大于答案的路径都被缩短,因此二分答案设二分到的答案为k那么被删掉的边一定是所有长于k的路径的公共边之一,因此问题转化为,在O(m)时间内求出m条路径的交集中的最长边首先,可以在O(1)时间内求出两条路径的交集:对于路径s-t 和 s'-t' 分别求出s'到s-t上最近点u,t'到s-t上最
2016-11-08 18:13:26
673
原创 错位排序公式及理解
今天集训问错排是什么被hszx教练嘲讽了,痛下决心学一下竟然还挺简单的错位排序递推公式:设f[i]为i个数错位排序 (任意1f[0]=1,f[1]=0;f[i]=(f[i-1]*f[i-2])*(i-1) (i>=2)公式理解:情况1:插入第i个元素时,前i-1个已经错位排好,则选择其中任意一个与第i个互换一定满足要求,选择方法共i-1种,前i-1位错排f[i-1
2016-05-26 16:42:17
15630
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人