说明:大部分代码是在网上找到的,好几个代码思路总结出来的 通常写算法,习惯用C语言写,显得思路清晰。可是假设一旦把思路确定下来,并且又不想打草稿。想高速写下来看看效果,还是python写的比較快。也看个人爱好。实习的时候有个同事对于python的缩进来控制代码块各种喷。。。。他认为还是用大括号合适。
分类:
编程语言 时间:
2016-02-09 19:59:06
阅读次数:
293
二分+树形DP验证。 答案是通过二分查找得到的,对于每一次二分到的值,进行验证,是否可行。 可以用树形DP来求解所有叶子节点不能向根节点传送消息的最小费用,dp[i] 表示 节点i 的子树的叶子结点都不能向i传送消息的最小费用,这样很容易递推。 #include<cstdio> #include<c
分类:
其他好文 时间:
2016-02-09 15:53:09
阅读次数:
349
可以树形DP,也可以用网络流(最大流=最小割) 用树形DP的话,这题就是 HDU 3586 简化版,HDU 3586还需要二分查找。 #include<cstdio> #include<cstring> #include<cmath> #include<ctime> #include<map> #i
分类:
其他好文 时间:
2016-02-09 15:52:11
阅读次数:
214
二分查找思想就是取中间的数缩小查找范围,对应不同的题目变形,在取到中间数mid确定下一个查找范围时也有不同,左边界有的low=mid+1,也可能low=mid,右边界有的high=mid-1,也有可能high=mid。 对于一个排序数组来说二分查找的时间复杂度是O(logn) 1. 二分查找法 1
分类:
编程语言 时间:
2016-02-04 18:28:21
阅读次数:
325
http://poj.org/problem?id=3243 题意:给定X,Z,K,求一个最小的Y满足XY mod Z = K。 题解:BSGS的拓展版本(因为X和Z不一定互质)。这道题挺坑的,如果K>=Z不是输出无解而是让K%=Z。 算是BSGS的模板题,我打了两种版本,就是二分查找和hash。对
分类:
其他好文 时间:
2016-02-04 08:58:10
阅读次数:
166
#include <iostream> #include <algorithm> using namespace std; bool binarySearch(int a[],int x,int n) { int left = 0,right = n-1; while(left <= right)
分类:
其他好文 时间:
2016-02-03 21:45:20
阅读次数:
221
碰到的一般题型:1.准确值二分查找,或者三分查找(类似二次函数的模型)。 2.与计算几何相结合答案精度要求比较高的二分查找,有时与圆有关系时需要用到反三角函数利用 角度解题。 3.不好直接求解的一类计数问题,利用二分直接枚举可能的结果,再检查是否符合题目要求。 4.区间求解,即利用两次二分分别查找有
分类:
其他好文 时间:
2016-02-03 19:16:04
阅读次数:
174
二分查找概念: 二分查找算法是在有序数组中用到的较为频繁的一种算法,二分查找其实是分治算法的一个实例; 针对有序表的查找方法,比较次数少,查找快,平均性能好。插入删除比较困难。一般用于有序的不常插入删除而查找频繁的表; 步骤: 1、获取表的中间键,将中间键与查找的键相比; 2、如果查找键小于中间键,
分类:
其他好文 时间:
2016-02-02 21:37:01
阅读次数:
270
本节大纲 迭代器&生成器 装饰器 基本装饰器 多参数装饰器 递归 算法基础:二分查找、二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10
分类:
编程语言 时间:
2016-02-01 20:56:58
阅读次数:
235
给一个sorted array 0 0 0 1 1 1 1,然后找出第一个1的位置。 边界情况:array为空或者全0。 思路:二分查找。为了优化,可以先判断最后一个数是不是0。 1 class Solution 2 { 3 public: 4 int FindBrokenCode(vector<i
分类:
其他好文 时间:
2016-01-30 09:36:40
阅读次数:
118