本文主要是介绍[算法浅析]玄学剪枝,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
玄学输出,最为致命
相信每个oier都遇到过一些玄学的事,数字错位,BFS不如DFS,cout无用,看着没问题提交上去WA。
但经过我多次思考,最终基于玄学而写出玄学剪枝这蛇皮的玩意
在进入计算机的现代,玄学还是无处不在,把计算机与玄学结合,最终写出如下代码
if(time(NULL)%n==1){return ;
}
按道理说,如果你人品够好,在多次提交后一定会AC,但几率极低【滑稽】
修改n的值可以更改剪枝的概率
当随机数mod(n)余数为1就剪枝。n越大剪枝的概率越小
但代码还是有点问题,生成的随机数是伪随机数。
计算机计算的速度极快,生成的"随机数"是通过系统时间来实现的,所以会多次生成同一个数。
导致多次剪枝或不剪枝,这使得剪枝几率极不平衡,只能等到以后来完善了。
用玄学剪枝,是在你已经没有任何头绪来剪枝,如果人品够好,还是会AC(你提交的次数越多,那你AC的概率就不低了)。
这篇关于[算法浅析]玄学剪枝的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!