=start and nums[count][0]<=end:
+ if end<=nums[count][1]:
+ end=nums[count][1]
+ else :
+ sum+=end-start+1
+ start=nums[count][0];end=nums[count][1]
+ count+=1
+sum+=end-start+1
+print(a-sum+1)
\ No newline at end of file
diff --git a/ACM/校门外的树.py b/ACM/校门外的树.py
new file mode 100644
index 0000000..b9b44d6
--- /dev/null
+++ b/ACM/校门外的树.py
@@ -0,0 +1,7 @@
+a,b =map(int, input().split(' '))
+nums=[]
+for i in range(b):
+ m,n=map(int,input().split(' '))
+ nums.extend(range(m,n+1))
+nums=set(nums)
+print(a+1-len(nums))
\ No newline at end of file
diff --git a/盘荣博/README.md b/盘荣博/README.md
new file mode 100644
index 0000000..3ff7495
--- /dev/null
+++ b/盘荣博/README.md
@@ -0,0 +1,7 @@
+**三个文件夹**
+
+数据可视化:暂时没有文件。
+
+图:其中包括最短路径和最小生成树的展示
+
+线性规划: 使用scipy库,便且使用scipy的optimize模块下的linprog函数,numpy函数统一操作数据以及使用matplotlib库下的pyplot模块
\ No newline at end of file
diff --git a/盘荣博/数据可视化/week1.py b/盘荣博/数据可视化/week1.py
index e69de29..12f7640 100644
--- a/盘荣博/数据可视化/week1.py
+++ b/盘荣博/数据可视化/week1.py
@@ -0,0 +1,9 @@
+import pandas as pd
+import matplotlib.pyplot as plt
+df = pd.read_excel("棉花产量论文作业的数据.xlsx")
+plt.plot(df["年份"],df["单产"])
+plt.rcParams['font.sans-serif']="SimHei"
+plt.ylabel('单产')
+plt.xlabel('年份')
+plt.show()
+print(df)
\ No newline at end of file
diff --git a/盘荣博/数据可视化/棉花产量论文作业的数据.xlsx b/盘荣博/数据可视化/棉花产量论文作业的数据.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..162f47d4b934fe6e413f8139efcc5181e753bdb0
GIT binary patch
literal 10442
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
literal 0
HcmV?d00001
diff --git a/盘荣博/线性规划/插值和拟合/inter.py b/盘荣博/线性规划/插值和拟合/inter.py
new file mode 100644
index 0000000..4ec6517
--- /dev/null
+++ b/盘荣博/线性规划/插值和拟合/inter.py
@@ -0,0 +1,16 @@
+import numpy as np
+import pylab as pl
+from scipy import interpolate
+import matplotlib.pyplot as plt
+x = np.linspace(0,2*np.pi+np.pi/4,10)
+x1 = np.linspace(0,2*np.pi+np.pi/4,100)#num个0~2*Pi+Pi/4的范围的点
+y = np.sin(x)
+y1= np.sin(x1)
+plt.xlabel(f"安培/A")
+plt.ylabel(f'伏特/V')
+linear_ = interpolate.interp1d(x,y)
+print(linear_(x1))
+plt.rcParams['font.sans-serif'] = ['SimSun']#设置字体
+plt.plot(x,y,'o',label=f"原始数据")
+plt.plot(x1,linear_(x1),"*",label="线性插入")
+pl.show()
\ No newline at end of file
diff --git a/盘荣博/线性规划/插值和拟合/test1.py b/盘荣博/线性规划/插值和拟合/test1.py
new file mode 100644
index 0000000..542cc88
--- /dev/null
+++ b/盘荣博/线性规划/插值和拟合/test1.py
@@ -0,0 +1,27 @@
+from scipy import optimize
+import numpy as np
+
+c= np.array([-1,4])
+A=np.array([[-3,1],[1,2]])
+b=np.array([6,4])#小于关系
+Aeq=np.array([[1,1,1]])#相等
+beq = np.array([7])#
+bounds = ((None,None),(-3,None))
+res = optimize.linprog(c,A,b,None,None,bounds=bounds)
+print("目标函数最小值:",res.fun)#目标函数最优解
+print("最优解",res.x)#求得的最优解
+
+
+c = [-1,2,3]
+A=[[-2,1,1],[3,-1,-2]]
+b=[[9],[-4]]
+Aeq =[[4,-2,-1]]
+beq=[-6]
+LB=[-10,0,None]
+UB = [None]*len(c)
+print(UB)
+bound = tuple(zip(LB,UB))
+print(zip(LB,UB),'\n',bound)
+res = optimize.linprog(c,A,b,Aeq,beq,bounds=bound)
+print("函数的最小值为",res.fun)
+print("最优解为:",res.x)
\ No newline at end of file