From f12366ca0186f3f32d61fe2904e3ec6795a0bc1c Mon Sep 17 00:00:00 2001 From: JCHPJP <2858829498@qq.com> Date: Wed, 17 Jul 2024 20:28:01 +0800 Subject: [PATCH] acm --- .idea/.gitignore | 3 + .idea/inspectionProfiles/Project_Default.xml | 12 ++++ .../inspectionProfiles/profiles_settings.xml | 6 ++ .idea/misc.xml | 4 ++ .idea/modules.xml | 8 +++ .idea/mycode.iml | 8 +++ .idea/vcs.xml | 6 ++ ACM/DongDong认亲戚.py | 2 + ACM/World Finals.py | 54 ++++++++++++++++++ ACM/[NOIP2004]合并果子.py | 18 ++++++ ACM/值周.py | 28 +++++++++ ACM/校门外的树.py | 7 +++ 盘荣博/README.md | 7 +++ 盘荣博/数据可视化/week1.py | 9 +++ .../棉花产量论文作业的数据.xlsx | Bin 0 -> 10442 bytes .../线性规划/插值和拟合/inter.py | 16 ++++++ .../线性规划/插值和拟合/test1.py | 27 +++++++++ 17 files changed, 215 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/mycode.iml create mode 100644 .idea/vcs.xml create mode 100644 ACM/DongDong认亲戚.py create mode 100644 ACM/World Finals.py create mode 100644 ACM/[NOIP2004]合并果子.py create mode 100644 ACM/值周.py create mode 100644 ACM/校门外的树.py create mode 100644 盘荣博/README.md create mode 100644 盘荣博/数据可视化/棉花产量论文作业的数据.xlsx create mode 100644 盘荣博/线性规划/插值和拟合/inter.py create mode 100644 盘荣博/线性规划/插值和拟合/test1.py diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..359bb53 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..a57fde5 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..0d33757 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..f1bdbf1 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/mycode.iml b/.idea/mycode.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/.idea/mycode.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ACM/DongDong认亲戚.py b/ACM/DongDong认亲戚.py new file mode 100644 index 0000000..f28dfbf --- /dev/null +++ b/ACM/DongDong认亲戚.py @@ -0,0 +1,2 @@ +a=[0]*int(2e4) +print(len(a)) \ No newline at end of file diff --git a/ACM/World Finals.py b/ACM/World Finals.py new file mode 100644 index 0000000..70c2a32 --- /dev/null +++ b/ACM/World Finals.py @@ -0,0 +1,54 @@ +from functools import cmp_to_key +c=[[],[]] +string=[[],[]] +for i in range(2): + a = eval(input()) + while a>0: + s=input().split() + s[1],s[2]=eval(s[1]),eval(s[2]) + c[i].append(s) + string[i].append(s[0]) + a-=1 +def cmp(a,b): + if a[1]>b[1]: + return -1 + elif a[1]==b[1]: + if a[2]n:continue; + nums.append([m,n]) +def cmp(a,b):#升序 + if(a[0]>b[0]): + return 1 + else : + return -1#不变 +nums=sorted(nums,key=functools.cmp_to_key(cmp)) +# for i in nums: +# print(i) +sum = 0 +start,end=nums[0][0],nums[0][1] +count=1 +while count=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