
算法
play maker
这个作者很懒,什么都没留下…
展开
-
线性分类器
import redef read_ints(): s=re.findall("-?\d+",input()) for i in range(len(s)): s[i]=int(s[i]) return sdef read_oneline(): s=re.split(' ',input()) for i in range(len(s)-1): s[i]=int(s[i]) return sdef check(thet...原创 2020-12-09 09:50:03 · 133 阅读 · 0 评论 -
点亮数字人生
import redef NOT(a): return (a+1)%2def AND(a,b,*c): ans=a and b if not c: return ans for i in c: if ans==0: return ans else: ans=ans and i return ans def OR(a,b,*c): a...原创 2020-12-08 20:48:49 · 225 阅读 · 1 评论 -
风险人群筛查
import retemp=re.findall('-?\d+',input())n,k,t,Xl,Yd,Xr,Yu=int(temp[0]),int(temp[1]),int(temp[2]),int(temp[3]),int(temp[4]),int(temp[5]),int(temp[6])Pass=0Stay=0conti=0for i in range(n): temp=re.findall('-?\d+',input()) Pass_flag=0 ...原创 2020-12-06 17:25:09 · 202 阅读 · 0 评论 -
csp - 称检测点查询
import retemp=re.findall('-?\d+',input())n,X,Y=int(temp[0]),int(temp[1]),int(temp[2])x=[]y=[]for i in range(n): temp=re.findall('-?\d+',input()) x.append(int(temp[0])) y.append(int(temp[1]))lenth=[]for i in range(n): lenth.appen...原创 2020-12-06 16:33:16 · 255 阅读 · 0 评论 -
装箱问题
有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30),每个物品有一个体积 (正整数)。要求从 n 个物品中,任取若千个装入箱内,使箱子的剩余空间为最小。输入格式 Input Format第一行,一个整数,表示箱子容量;第二行,一个整数,表示有n个物品;接下来n行,分别表示这n个物品的各自体积。输出格式 Output Format一个整数,表示箱子剩余空间。样例输入 Sample Input2468312797样例输出 Sample Output0原创 2020-11-23 10:37:14 · 595 阅读 · 0 评论 -
最长公共子序列问题(Longest-Common-Subsequence,LCS)
S1=ACCGGTCGAGTGCGCGGAAGCCGGCCGAAS2=GTCGTTCGGAATGCCGTTGCTCTGTAAA如上面的两个DNA串中,最长的公共存在是S3=GTCGTCGGAAGCCGGCCGAA。含义:1)若i=0或j=0,即其中一个序列的长度为零,则二者的LCS的长度为0,LCS=Φ;2)若xi=yj,则Xi和Yj的LCS是在Xi-1和Yj-1的LCS之后附加将xi (也即yj)得到的,所以c[i,j]=c[i-1,j-1]+1;3)若xi≠yj,则Xi和Yj的LC原创 2020-11-23 09:22:28 · 259 阅读 · 0 评论 -
数字三角形问题
1.问题描述设有一个三角形的数塔,顶点结点称为根结点,每个结点有一个整数数值。从顶点出发,可以向左走,也可以向右走。如图10一1所示。问题:当三角形数塔给出之后,找出一条从第一层到达底层的路径,使路径的值最大。若这样的路径存在多条,任意给出一条即可。旋转一下就跟马拦卒过河题目一样了(x轴为层数,y轴为该点在该层中的序号),只能往下或右走对最底层的顶点分类讨论一下各求出最大路径值(因此使用动态规划比单纯递推好很多,不然重复计算好多次子问题)即可解法1 递推解法#递推解法#输入一个坐标,返原创 2020-11-22 11:42:34 · 1023 阅读 · 1 评论 -
马拦过河卒
[问题描述]: 如图,A 点有一个过河卒,需要走到目标 B 点。卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。例如上图 C 点上的马可以控制 9 个点(图中的P1,P2 … P8 和 C)(马本身的位置也被控制)。卒不能通过对方马的控制点。棋盘用坐标表示,A 点(0,0)、B 点(n,m)(n,m 为不超过 20 的整数,并由键盘输入),同样马的位置坐标是需要给出的(约定: C<>A,同时C<原创 2020-11-21 15:42:27 · 349 阅读 · 0 评论 -
低价购买
“低价购买”这条建议是在奶牛股票市场取得成功的一半规则。要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买;再低价购买”。每次你购买一支股票,你必须用低于你上次购买它的价格购买它。买的次数越多越好!你的目标是在遵循以上建议的前提下,求你最多能购买股票的次数。你将被给出一段时间内一支股票每天的出售价(216范围内的正整数),你可以选择在哪些天购买这支股票。每次购买都必须遵循“低价购买;再低价购买”的原则。写一个程序计算最大购买次数。这里是某支股票的价格清单:日期 1 2 3 4原创 2020-11-15 12:26:55 · 258 阅读 · 0 评论 -
导弹拦截
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。样例:INPUT原创 2020-11-15 11:04:24 · 900 阅读 · 0 评论