算法
Herbnat
华中科技大学
展开
-
CSP“碰撞的小球” 15ms
模拟题。#include <iostream>#include <cstring>using namespace std;struct Ball{ int pos; int d; //-1:left,1:right Ball(){} Ball(int a,int b):pos(a),d(b){}}a[105]; //声明a需要无...原创 2019-12-11 14:59:27 · 185 阅读 · 0 评论 -
python语言求排列的逆序数,分支算法实现,复杂度O(nlogn),附完整代码可运行
问题:考虑1,2,3...n(n<=100000)的排列,比如263451中含有8个逆序(2,1),(3,1),(4,1),(5,1),(6,3),(6,4),(6,5),(6,1),即大的数在小的数的左边,就构成一个逆序对。现给定1,2,...n的一个排列,求它的逆序数。解题策略:笨方法O(n^2) 分治O(nlogn)分治的实现方法:数组分为两半,分别求出左半边和...原创 2019-08-20 14:26:33 · 1895 阅读 · 2 评论 -
用Python实现表达式求值,递归解法和栈解法(附详细代码和测试)
问题描述:输入四则运算表达式,仅由数字、+、-、*、/、()组成,没有空格,要求求其值,假设运算符结果都是整数,/结果也是整数输入:(2+3)*(5+7)+9/3输出:63第一种解法:eval()函数>>> eval('(3+5)*2')16第二种解法:递归搞清楚表达式的递归定义很关键表达式=项或项的加减 项=因子或因子的乘除 因子=(...原创 2019-08-17 19:52:10 · 13558 阅读 · 3 评论