zoukankan      html  css  js  c++  java
  • 7月23日训练总结

    1.分形但其实还是递归的思想,递归的用途很多,无论是搜索还是其他的方面,不断调用自身讲一个大问题转化为一个小问题,最后小到可以求解的程度,就是递归。
    2.前坠和与差分,一个数组的差分的前缀的差分就是他自己,同样的差分的前缀和也是他自己,前缀和与差分比较适用于静态查询,而线段树更注重于修改,而很多静态查询借助差分与前缀和能够有效的降低时间复杂度。
    3.二分法
    之前二分会,但是通过这次的学习,明白了二分的四种基本套路:
    整数域上的二分:

    while(l<r)	{
    	mid=(l+r+1)>>2;
    	if(Panduan(mid)<=Tiaojian) l=mid;//mid符合条件,则比mid大的可能符合条件
    	else r=mid-1;//mid>tiaojian 则比mid 小的可能符合条件; 
    }
    
    while(l<r)	{
    	mid=(l+r)>>2;
    	if(Panduan(mid)>=Tiaojian) r=mid; //因为mid符合条件,且比mid小的暂时都符合条件;
    	else l=mid+1;//Panduan[mid]<Tiaojian,因为mid不符合条件,且大于mid 的可能符合条件;
    }
    

    实数域上的二分:

    	const double 1e-(K+2)比题目要求精度多两位
    	while((l+eps)<r){
    		double mid=(l+r)/2;
    		if(Panduan(mid)<=tiaojian) l=mid; //或参考上文,寻找合适条件; 
    		else r=mid; 
    
    	int n;//设置循环次数
    	for(int i=0;i<n;i++)
    	{
    		double mid=(l+r)/2;
    		if(Panduan(mid)<=tiaojian) l=mid; //或参考上文,寻找合适条件; 
    		else r=mid; 
    	}
    

    4.排序算法
    除了比较排序之外,还接触桶排序,与基数排序,排序的方式不应该仅限于sort,部分题目自己手写的排序的可能起到更好的作用。
    5.中位数
    比较经典的问题:货仓选址,均分纸牌,环形均分纸牌。可以转化为中位数。

  • 相关阅读:
    SqlServer事务日志满的解决方案
    关于.net反射和metadata加载致Jeffray Zhao等几位和firelong
    Context Root选/的原则
    [继续讨论]关于Windows PE和.net assembly的加载
    有趣的重写GetType()方法
    对Wintercn关于函数式编程的文章评论
    The experience to config Cisco 2811 for VOIP
    关于c#静态方法和实例方法的辨析和应用
    防止刷新时,密码输入框中的信息丢失
    计算百分比 JS
  • 原文地址:https://www.cnblogs.com/lunatic-talent/p/12798840.html
Copyright © 2011-2022 走看看