如何快速计算方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何快速计算方法相关的知识,希望对你有一定的参考价值。
如何快速计算工作日?
参考技术A 着列表做些题析每道题特点错点总结算自模板做完初期差应付校赛
再期
OJ些水题(用练手增加自信)
(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)
初期:
.基本算:
(1)枚举. (poj1753,poj2965)
(2)贪(poj1328,poj2109,poj2586)
(3)递归治.
(4)递推.
(5)构造.(poj3295)
(6)模拟.(poj1068,poj2632,poj1573,poj2993,poj2996)
二.图算:
(1)图深度优先遍历广度优先遍历.
(2)短路径算(dijkstra,bellman-ford,floyd,heap+dijkstra)
(poj1860,poj3259,poj1062,poj2253,poj1125,poj2240)
(3)树算(prim,kruskal)
(poj1789,poj2485,poj1258,poj3026)
(4)拓扑排序 (poj1094)
(5)二图匹配 (匈牙利算) (poj3041,poj3020)
(6)流增广路算(KM算). (poj1459,poj3436)
三.数据结构.
(1)串 (poj1035,poj3080,poj1936)
(2)排序(快排、归并排(与逆序数关)、堆排) (poj2388,poj2299)
(3)简单并查集应用.
(4)哈希表二查找等高效查找(数Hash,串Hash)
(poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503)
(5)哈夫曼树(poj3253)
(6)堆
(7)trie树(静态建树、态建树) (poj2513)
四.简单搜索
(1)深度优先搜索 (poj2488,poj3083,poj3009,poj1321,poj2251)
(2)广度优先搜索(poj3278,poj1426,poj3126,poj3087.poj3414)
(3)简单搜索技巧剪枝(poj2531,poj1416,poj2676,1129)
五.态规划
(1)背包问题. (poj1837,poj1276)
(2)型表简单DP(参考lrj书 page149):
1.E[j]=optD+w(i,j) (poj3267,poj1836,poj1260,poj2533)
2.E[i,j]=optD[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij (公共序列)
(poj3176,poj1080,poj1159)
3.C[i,j]=w[i,j]+optC[i,k-1]+C[k,j].(优二检索树问题)
六.数
(1)组合数:
1.加原理乘原理.
2.排列组合.
3.递推关系.
(POJ3252,poj1850,poj1019,poj1942)
(2)数论.
1.素数与整除问题
2.进制位.
3.同余模运算.
(poj2635, poj3292,poj1845,poj2115)
(3)计算.
1.二求解单调函数相关知识.(poj3273,poj3258,poj1905,poj3122)
七.计算几何.
(1)几何公式.
(2)叉积点积运用(线段相交判定,点线段距离等). (poj2031,poj1039)
(3)边型简单算(求面积)相关判定(点边型内,边型否相交)
(poj1408,poj1584)
(4)凸包. (poj2187,poj1113)
级:
.基本算:
(1)C++标准模版库应用. (poj3096,poj3007)
(2)较复杂模拟题训练(poj3393,poj1472,poj3371,poj1027,poj2706)
二.图算:
(1)差约束系统建立求解. (poj1201,poj2983)
(2)费用流(poj2516,poj2195)
(3)双连通量(poj2942)
(4)强连通支及其缩点.(poj2186)
(5)图割边割点(poj3352)
(6)割模型、网络流规约(poj3308, )
三.数据结构.
(1)线段树. (poj2528,poj2828,poj2777,poj2886,poj2750)
(2)静态二叉检索树. (poj2482,poj2352)
(3)树状树组(poj1195,poj3321)
(4)RMQ. (poj3264,poj3368)
(5)并查集高级应用. (poj1703,2492)
(6)KMP算. (poj1961,poj2406)
四.搜索
(1)优化剪枝行性剪枝
(2)搜索技巧优化 (poj3411,poj1724)
(3)记忆化搜索(poj3373,poj1691)
五.态规划
(1)较复杂态规划(态规划解特别施行商问题等)
(poj1191,poj1054,poj3280,poj2029,poj2948,poj1925,poj3034)
(2)记录状态态规划. (POJ3254,poj2411,poj1185)
(3)树型态规划(poj2057,poj1947,poj2486,poj3140)
六.数
(1)组合数:
1.容斥原理.
2.抽屉原理.
3.置换群与Polya定理(poj1286,poj2409,poj3270,poj1026).
4.递推关系母函数.
(2)数.
1.高斯消元(poj2947,poj1487, poj2065,poj1166,poj1222)
2.概率问题. (poj3071,poj3440)
3.GCD、扩展欧几德(剩余定理) (poj3101)
(3)计算.
1.0/1数规划. (poj2976)
2.三求解单峰(单谷)极值.
3.矩阵(poj3150,poj3422,poj3070)
4.迭代逼近(poj3301)
(4)随机化算(poj3318,poj2454)
(5)杂题.
(poj1870,poj3296,poj3286,poj1095)
七.计算几何.
(1)坐标离散化.
(2)扫描线算(例求矩形面积周并,线段树或堆起使用).
(poj1765,poj1177,poj1151,poj3277,poj2280,poj3004)
(3)边形内核(半平面交)(poj3130,poj3335)
(4)几何工具综合应用.(poj1819,poj1066,poj2043,poj3227,poj2165,poj3429
)
高级:
.基本算要求:
(1)代码快速写,精简失风格
(poj2525,poj1684,poj1421,poj1048,poj2050,poj3306)
(2)保证确性高效性. poj3434
二.图算:
(1)度限制树第K短路. (poj1639)
(2)短路,树,二图,流问题相关理论(主要模型建立求解)
(poj3155, poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,poj2446
(3)优比率树. (poj2728)
(4)树形图(poj3164)
(5)树.
(6)向图、向图环
三.数据结构.
(1)trie图建立应用. (poj2778)
(2)LCARMQ问题(LCA(近公共祖先问题) 离线算(并查集+dfs) 线算
(RMQ+dfs)).(poj1330)
(3)双端队列应用(维护单调队列,态规划起优化状态转移
目). (poj2823)
(4)左偏树(合并堆).
(5)缀树(非用数据结构,赛区考题热点).
(poj3415,poj3294)
四.搜索
(1)较麻烦搜索题目训练(poj1069,poj3322,poj1475,poj1924,poj2049,poj3426)
(2)广搜状态优化:利用M进制数存储状态、转化串用hash表判重、按位压缩存储
状态、双向广搜、A*算. (poj1768,poj1184,poj1872,poj1324,poj2046,poj1482)
(3)深搜优化:尽量用位运算、定要加剪枝、函数参数尽能少、层数易
、考虑双向搜索或者轮换搜索、IDA*算. (poj3131,poj2870,poj2286)
五.态规划
(1)需要用数据结构优化态规划.
(poj2754,poj3378,poj3017)
(2)四边形等式理论.
(3)较难状态DP(poj3133)
六.数
(1)组合数.
1.MoBius反演(poj2888,poj2154)
2.偏序关系理论.
(2)博奕论.
1.极极程(poj3317,poj1085)
2.Nim问题.
七.计算几何.
(1)半平面求交(poj3384,poj2540)
(2)视图建立(poj2966)
(3)点集圆覆盖.
(4)踵点(poj2079)
八.综合题.
(poj3109,poj1478,poj1462,poj2729,poj2048,poj3336,poj3315,poj2148,poj1263) 参考技术B 回答
你好,麻烦你把问题说明白一点,我好为您解答
他们的绝对值。
回答绝对值得任何数都是正数,所以左边的数值等于九,然后后面的就9+72+0-23,得到的答案是58
然后按顺序计算就好了
提问?
回答就是1/20等于0.05
算出来等于-29
参考技术C 快速计算的方法只有这一种是最简单的算法。 参考技术D 速算法:把被乘数中正在处理的那个数位称为「本位」,而从本位右侧第一位到最末位所表示的数称「后位数」。本位被乘以后,只取乘积的个位数,此即「本个」,而本位的后位数与乘数相乘后要进位的数就是「后进」。举例如下:
(例题) 被乘数首位前补0,列出算式:
0847536×2=1695072
乘数为2的进位规律是「2满5进1」
0×2本个0,后位8,后进1,得1
8×2本个6,后位4,不进,得6
4×2本个8,后位7,满5进1,
8十1得9
7×2本个4,后位5,满5进1,
4十1得5
5×2本个0,后位3不进,得0
3×2本个6,后位6,满5进1,
6十1得7
6×2本个2,无后位,得2
如何快速计算二进制列表中 0(s) 的数量? [复制]
【中文标题】如何快速计算二进制列表中 0(s) 的数量? [复制]【英文标题】:How to quickly count number of 0(s) in a binary list? [duplicate] 【发布时间】:2013-02-15 16:04:19 【问题描述】:对于像[0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0]
这样的数组,有没有一种快速的方法可以返回0(s)
的数量,在示例中为5
?谢谢!
【问题讨论】:
这里和网上有很多重复... 【参考方案1】:您可以通过使用数组将速度提高 100 倍(这仅对大型列表很重要)...
这应该比my_list.count(0)
快100倍:
(my_array==0).sum()
但是,如果您的数据已经排列为 numpy 数组(或者您可以在创建时将其放入 numpy 数组),则它只会有所帮助。否则转换my_array = np.array(my_list)
会浪费时间。
【讨论】:
【参考方案2】:您的选择,让您在晚上入睡:
l = [0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0]
print l.count(0)
# or maybe:
print len(filter(lambda a: a == 0, l))
# or maybe:
print len([0 for x in l if x==0])
【讨论】:
【参考方案3】:li = [0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0]
print len(li) - sum(li)
【讨论】:
【参考方案4】:In [16]: l = [0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0]
In [17]: l.count(0)
Out[17]: 5
【讨论】:
【参考方案5】:使用list.count
:
your_list.count(0)
还有帮助:
>>> help(list.count)
Help on method_descriptor:
count(...)
L.count(value) -> integer -- return number of occurrences of value
【讨论】:
问这个问题我感到很惭愧。 @Rock well - 从好的方面来说 - 你不会很快忘记它;)以上是关于如何快速计算方法的主要内容,如果未能解决你的问题,请参考以下文章