zoukankan      html  css  js  c++  java
  • 经典问题的非经典解法

    经典问题的非经典解法

    N皇后问题 主要来源:Matrix67

    这是一道行列式计算的经典例题,历史悠久,喜闻乐见。

    一个十分简单的,并且没有多少限制的是镜像优化,可以减少一半的搜索量,我记得没错USACO那道朴素算法再加这个优化就能A了。然后就有不少神牛提出了许多高深的优化方法。比如最后一个直接确定,无需再搜。比如链表,减少了对无用位置的检查,只是删除和还原时比较烦。【我会告诉其实我至今不会链表吗】比如改为非递归,但是代码量。。。不敢恭维。

    非经典解法之位运算

    我们可以记录三个状态S1,S2,S3 表示当前每行中、两条对角线上哪些位置分别被

    占。然后位运算牛就牛在我们可以O(1)算出某个数最右边的1 在哪里,这样我们再

    经过简单的转移就可以得到理想的效果。位运算将枚举可行位置优化到了极致!常数

    小,代码短,而且可以推广,乃居家旅行之必备!

    http://www.matrix67.com/blog/archives/266

    矩阵取和问题 主要来源:原创

    每行每列只取一个数,使得和最大。

    搜索优化?状态压缩?No.no,no! This is a very water problem.

    非经典解法之网络流

    行列分别为二分图两侧A,B,Ax向By连一条容量为1,费用为a[x][y]的边。用zkw/SPFA流解之。

    全局最小割统计(ZJOI2011D1P3) 主要来源:iomaster

    图中有多少对点它们的最小割的容量不超过x。

    这是一道网络流的经典例题,历史悠久,喜闻乐见。

    枚举S和T,每次都跑一边最大流。TLE!

    非经典解法之分治优化

    http://hi.baidu.com/oimaster/item/44de2eda7eb2b34bddf9be96

    RMQ问题 主要来源:百度百科

    长度为N的序列,有Q个询问(x,y),询问x-y中的最小值。

    这是一道考察数据结构的经典例题,历史悠久,喜闻乐见。

    线段树?倍增算法?

    非经典解法之线性算法

    根据原数列建一颗笛卡尔树,然后询问变为树上的LCA问题。

    而树上的LCA问题有两种线性或接近线性的算法。

    Tarjan算法 离线O(N+Qα(N))

    约束RMQ(± 1RMQ)(算法 O(N)-O(1)在线

    http://baike.baidu.com/view/1536346.htm

    石子合并问题 主要来源:fanhq666

    一排石子,每次合并相邻的两堆石子,代价为这两堆石子的重量和,把一排石子合并为一堆,求最小代价。

    这是一道DP的经典例题,历史悠久,喜闻乐见。

    这不O(N^3)暴力么?等等,还可以利用四边形不等式优化到O(N^2)。水题啊。。。。【我会告诉你我O(N^2)不会么】

    围观数据:N<=50000。

    这。。。心碎了把。。。

    非经典解法之GarsiaWachs算法

    http://fanhq666.blog.163.com/blog/static/81943426201062865551410/

    高斯消元问题 (「Clover」杯VII P3)主要来源:thispoet

    这是一道行列式计算的经典例题,历史悠久,喜闻乐见。

    线性方程组求整数解

    高斯消元?告诉数据都是10^60的!

    哈哈!不会把?什么。。高精度?那你会去写高精度除法么?什么?可以不用除法。嗯,参考辗转相除法,可以求两项的LCM来方便消元。但是。。。高精度加减乘GCD。。。

    告诉你这是一道NOIP题。

    非经典解法之线性模方程组

    http://thispoet.blogcn.com/articles/tyvj-clover7-solution.html

    约瑟夫问题 主要来源:AekdyCoin

    这是一道模拟的经典例题,历史悠久,喜闻乐见。

    给定N,k,输出最后一个编号i。

    还记得当年O(NK)的朴素算法是自己写出来的么?

    然后现在呢?平衡树维护?O(NlogN)

    对这个问题感兴趣的同学肯定知道一个简单公式的O(N)算法。【我会告诉你我不会证么】

    然后,就没有然后了?

    要拓展一下嘛。给定N,i,求最小的K。

    哈哈,只会O(NK)?

    不慌,AekdyCoin数论神来教你。

    非经典解法之线性模方程组

    http://hi.baidu.com/aekdycoin/item/759825737c31f840ef1e53ac

  • 相关阅读:
    java 支付宝即时到帐提交订单dome
    C#字符串string的常用使用方法(转载)
    UltraEdit 回车符替换空格
    java 七牛上传图片到服务器(采用的html5 压缩 传输base64方式)
    c# 多播委托
    c# 泛型委托
    c# 求数组的最大值
    c# 匿名函数和lamda表达式语法
    匿名函数和lamda表达式
    导出Excel之Epplus使用教程4(其他设置)
  • 原文地址:https://www.cnblogs.com/oldmanren/p/2734536.html
Copyright © 2011-2022 走看看