如果P = NP 则 NP = co-NP.

本文讨论了P与NP问题,并通过逆否命题证明了如果NP不等于co-NP,则P也不等于NP。这是一个重要的理论结论,对于理解计算复杂性理论具有重要意义。
部署运行你感兴趣的模型镜像

证明:

P = co-P

如果P = NP 这时co-NP = co-P = P。

因此得证。


这个公式有个非常好的推论

如果NP != co-NP then P != NP.(逆否命题)

因此,我们可以通过NP != co-NP得到P != NP。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

#库的导入 import numpy as np import pandas as pd from sklearn.cluster import KMeans #激活函数 def tanh(x): return (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x)) #激活函数偏导数 def de_tanh(x): return (1-x**2) #参数设置 samnum = 72 #输入数据数量 hiddenunitnum = 8 #隐含层节点数 indim = 4 #输入层节点数 outdim = 1 #输出层节点数 maxepochs = 500 #最大训练次数 errorfinal = 0.65*10**(-3) #停止迭代训练条件 learnrate = 0.001 #学习率 #输入数据的导入 df = pd.read_csv("train.csv") df.columns = ["Co", "Cr", "Mg", "Pb", "Ti"] Co = df["Co"] Co = np.array(Co) Cr = df["Cr"] Cr = np.array(Cr) Mg=df["Mg"] Mg=np.array(Mg) Pb = df["Pb"] Pb =np.array(Pb) Ti = df["Ti"] Ti = np.array(Ti) samplein = np.mat([Co,Cr,Mg,Pb]) #数据归一化,将输入数据压缩至0到1之间,便于计算,后续通过反归一化恢复原始值 sampleinminmax = np.array([samplein.min(axis=1).T.tolist()[0],samplein.max(axis=1).T.tolist()[0]]).transpose()#对应最大值最小值 sampleout = np.mat([Ti]) sampleoutminmax = np.array([sampleout.min(axis=1).T.tolist()[0],sampleout.max(axis=1).T.tolist()[0]]).transpose()#对应最大值最小值 sampleinnorm = ((np.array(samplein.T)-sampleinminmax.transpose()[0])/(sampleinminmax.transpose()[1]-sampleinminmax.transpose()[0])).transpose() sampleoutnorm = ((np.array(sampleout.T)-sampleoutminmax.transpose()[0])/(sampleoutminmax.transpose()[1]-sampleoutminmax.transpose()[0])).transpose() #给归一化后的数据添加噪声 noise = 0.03*np.random.rand(sampleoutnorm.shape[0],sampleoutnorm.shape[1]) sampleoutnorm += noise #聚类生成隐含层径向基函数的中心点w1 x = sampleinnorm.transpose() estimator=KMeans(n_clusters=8,max_iter=10000) estimator.fit(x) w1 = estimator.cluster_centers_ #计算得到隐含层的宽度向量b1 b1 = np.mat(np.zeros((hiddenunitnum,outdim))) for i in range(hiddenunitnum): cmax = 0 for j in range(hiddenunitnum): temp_dist=np.sqrt(np.sum(np.square(w1[i,:]-w1[j,:]))) if cmax<temp_dist: cmax=temp_dist b1[i] = cmax/np.sqrt(2*hiddenunitnum) #随机生成输出层的权值w2、阈值b2 scale = np.sqrt(3/((indim+outdim)*0.5)) w2 = np.random.uniform(low=-scale,high=scale,size=[hiddenunitnum,outdim]) b2 = np.random.uniform(low=-scale, high=scale, size=[outdim,1]) #将输入数据、参数设置为矩阵,便于计算 inputin=np.mat(sampleinnorm.T) w1=np.mat(w1) b1=np.mat(b1) w2=np.mat(w2) b2=np.mat(b2) #errhistory存储误差 errhistory = np.mat(np.zeros((1,maxepochs))) #开始训练 for i in range(maxepochs): #前向传播计算 #hidden_out为隐含层输出 hidden_out = np.mat(np.zeros((samnum, hiddenunitnum))) for a in range(samnum): for j in range(hiddenunitnum): d=(inputin[a, :] - w1[j, :]) * (inputin[a, :] - w1[j, :]).T c=2 * b1[j, :] * b1[j, :] hidden_out[a, j] = np.exp((-1.0 )* (d/c)) #output为输出层输出 output = tanh(hidden_out * w2 + b2) # 计算误差 out_real = np.mat(sampleoutnorm.transpose()) err = out_real - output loss = np.sum(np.square(err)) #判断是否停止训练 if loss < errorfinal: break errhistory[:,i] = loss #反向传播计算 output=np.array(output.T) belta=de_tanh(output).transpose() #分别计算每个参数的误差项 dw1now = np.zeros((8,4)) db1now = np.zeros((8,1)) dw2now = np.zeros((8,1)) db2now = np.zeros((1,1)) for j in range(hiddenunitnum): sum1 = 0.0 sum2 = 0.0 sum3 = 0.0 sum4 = 0.0 for a in range(samnum): sum1 +=err[a,:] * belta[a,:] * hidden_out[a,j] * (inputin[a,:]-w1[j,:]) sum2 +=err[a,:] * belta[a,:] * hidden_out[a,j] * (inputin[a,:]-w1[j,:])*(inputin[a,:]-w1[j,:]).T sum3 +=err[a,:] * belta[a,:] * hidden_out[a,j] sum4 +=err[a,:] * belta[a,:] dw1now[j,:]=(w2[j,:]/(b1[j,:]*b1[j,:])) * sum1 db1now[j,:] =(w2[j,:]/(b1[j,:]*b1[j,:]*b1[j,:])) * sum2 dw2now[j,:] =sum3 db2now = sum4 #根据误差项对四个参数进行更新 w1 += learnrate * dw1now b1 += learnrate * db1now w2 += learnrate * dw2now b2 += learnrate * db2now print("the iteration is:",i+1,",the loss is:",loss) print('更新的权重w1:',w1) print('更新的偏置b1:',b1) print('更新的权重w2:',w2) print('更新的偏置b2:',b2) print("The loss after iteration is :",loss) #保存训练结束后的参数,用于测试 np.save("w1.npy",w1) np.save("b1.npy",b1) np.save("w2.npy",w2) np.save("b2.npy",b2) #库的导入 import numpy as np import pandas as pd #激活函数tanh def tanh(x): return (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x)) #测试数据数量 testnum = 24 #隐含层节点数量 hiddenunitnum = 8 #输入数据的导入,用于测试数据的归一化与返归一化 df = pd.read_csv("train.csv") df.columns = ["Co", "Cr", "Mg", "Pb", "Ti"] Co = df["Co"] Co = np.array(Co) Cr = df["Cr"] Cr = np.array(Cr) Mg=df["Mg"] Mg=np.array(Mg) Pb = df["Pb"] Pb =np.array(Pb) Ti = df["Ti"] Ti = np.array(Ti) samplein = np.mat([Co,Cr,Mg,Pb]) sampleinminmax = np.array([samplein.min(axis=1).T.tolist()[0],samplein.max(axis=1).T.tolist()[0]]).transpose()#对应最大值最小值 sampleout = np.mat([Ti]) sampleoutminmax = np.array([sampleout.min(axis=1).T.tolist()[0],sampleout.max(axis=1).T.tolist()[0]]).transpose()#对应最大值最小值 #导入训练的参数 w1=np.load('w1.npy') w2=np.load('w2.npy') b1=np.load('b1.npy') b2=np.load('b2.npy') w1 = np.mat(w1) w2 = np.mat(w2) b1 = np.mat(b1) b2 = np.mat(b2) #测试数据的导入 df = pd.read_csv("test.csv") df.columns = ["Co", "Cr", "Mg", "Pb", "Ti"] Co = df["Co"] Co = np.array(Co) Cr = df["Cr"] Cr = np.array(Cr) Mg=df["Mg"] Mg=np.array(Mg) Pb = df["Pb"] Pb =np.array(Pb) Ti = df["Ti"] Ti = np.array(Ti) input=np.mat([Co,Cr,Mg,Pb]) #测试数据中输入数据的归一化 inputnorm=(np.array(input.T)-sampleinminmax.transpose()[0])/(sampleinminmax.transpose()[1]-sampleinminmax.transpose()[0]) #hidden_out2用于保持隐含层输出 hidden_out2 = np.mat(np.zeros((testnum,hiddenunitnum))) #计算隐含层输出 for a in range(testnum): for j in range(hiddenunitnum): d = (inputnorm[a, :] - w1[j, :]) * (inputnorm[a, :] - w1[j, :]).T c = 2 * b1[j, :] * b1[j, :].T hidden_out2[a, j] = np.exp((-1.0) * (d / c)) #计算输出层输出 output = tanh(hidden_out2 * w2 + b2) #对输出结果进行反归一化 diff = sampleoutminmax[:,1]-sampleoutminmax[:,0] networkout2 = output*diff+sampleoutminmax[0][0] networkout2 = np.array(networkout2).transpose() output1=networkout2.flatten()#降成一维数组 output1=output1.tolist() for i in range(testnum): output1[i] = float('%.2f'%output1[i]) print("the prediction is:",output1) #将输出结果与真实值进行对比,计算误差 output=Ti err = output1 - output rmse = (np.sum(np.square(output-output1))/len(output)) ** 0.5 mae = np.sum(np.abs(output-output1))/len(output) average_loss1=np.sum(np.abs((output-output1)/output))/len(output) mape="%.2f%%"%(average_loss1*100) f1 = 0 for m in range(testnum): f1 = f1 + np.abs(output[m]-output1[m])/((np.abs(output[m])+np.abs(output1[m]))/2) f2 = f1 / testnum smape="%.2f%%"%(f2*100) print("the MAE is :",mae) print("the RMSE is :",rmse) print("the MAPE is :",mape) print("the SMAPE is :",smape) #计算预测值与真实值误差与真实值之比的分布 A=0 B=0 C=0 D=0 E=0 for m in range(testnum): y1 = np.abs(output[m]-output1[m])/np.abs(output[m]) if y1 <= 0.1: A = A + 1 elif y1 > 0.1 and y1 <= 0.2: B = B + 1 elif y1 > 0.2 and y1 <= 0.3: C = C + 1 elif y1 > 0.3 and y1 <= 0.4: D = D + 1 else: E = E + 1 print("Ratio <= 0.1 :",A) print("0.1< Ratio <= 0.2 :",B) print("0.2< Ratio <= 0.3 :",C) print("0.3< Ratio <= 0.4 :",D) print("Ratio > 0.4 :",E) 按照以上代码形式写成两部分代码,分开编写
07-08
我正在编辑【python】代码,遇到了 【画图结果出错】 ,请帮我检查并改正错误点。我的原始代码如下: 【import numpy as np from scipy.optimize import newton import matplotlib.pyplot as plt from matplotlib.ticker import MultipleLocator # ========================== # CO₂物性参数设置 # ========================== Tc = 304.13 # 临界温度 (K) Pc = 7.38e6 # 临界压力 (Pa) omega = 0.225 # 偏心因子 R = 8.314 # 气体常数 (J/(mol·K)) M = 44.01e-3 # 摩尔质量 (kg/mol) # ========================== # PR状态方程相关函数 # ========================== def pr_parameters(T): """计算PR方程参数a和b""" k = 0.37464 + 1.54226 * omega - 0.26992 * omega ** 2 alpha = (1 + k * (1 - np.sqrt(T / Tc))) ** 2 a = 0.45724 * (R ** 2 * Tc ** 2) / Pc * alpha b = 0.07780 * R * Tc / Pc return a, b def pr_equation(Z, T, P): """定义PR方程的三次方形式""" a, b = pr_parameters(T) A = a * P / (R ** 2 * T ** 2) B = b * P / (R * T) return Z ** 3 - (1 - B) * Z ** 2 + (A - 3 * B ** 2 - 2 * B) * Z - (A * B - B ** 2 - B ** 3) def calculate_density(T, P): """计算CO₂密度 (kg/m³)""" try: # 牛顿迭代法求解压缩因子 Z_initial_guess = 0.6 # 超临界流体典型初始值 Z = newton(pr_equation, Z_initial_guess, args=(T, P)) molar_volume = Z * R * T / P # 摩尔体积 (m³/mol) return M / molar_volume except: return np.nan # 处理不收敛情况 # ========================== # 敏感性分析参数设置 # ========================== # 温度范围 (转换为开尔文) T_min = 31 + 273.15 # 304.15 K T_max = 100 + 273.15 # 373.15 K P_min = 7e6 # 7 MPa (转换为Pa) P_max = 30e6 # 30 MPa # 网格参数 n_points = 50 # 网格密度 delta = 0.1 # 差分步长 (K/MPa) # 生成计算网格 T_values = np.linspace(T_min, T_max, n_points) P_values = np.linspace(P_min, P_max, n_points) TT, PP = np.meshgrid(T_values, P_values) # ========================== # 主计算循环 # ========================== d_rho_dT = np.zeros_like(TT) d_rho_dP = np.zeros_like(TT) rho_grid = np.zeros_like(TT) print("开始计算密度场...") for i in range(n_points): for j in range(n_points): T = TT[i, j] P = PP[i, j] # 计算基础密度 rho = calculate_density(T, P) rho_grid[i, j] = rho # 温度敏感性 (中心差分) if T + delta <= T_max and T - delta >= T_min: rho_Tp = calculate_density(T + delta, P) rho_Tm = calculate_density(T - delta, P) d_rho_dT[i, j] = (rho_Tp - rho_Tm) / (2 * delta) # 压力敏感性 (中心差分) if P + delta * 1e6 <= P_max and P - delta * 1e6 >= P_min: rho_Pp = calculate_density(T, P + delta * 1e6) rho_Pm = calculate_density(T, P - delta * 1e6) d_rho_dP[i, j] = (rho_Pp - rho_Pm) / (2 * delta * 1e6) print("计算完成,开始绘图...") # ========================== # 可视化设置 # ========================== plt.rcParams.update({'font.size': 12, 'font.family': 'Arial'}) extent = [T_min - 273.15, T_max - 273.15, P_min / 1e6, P_max / 1e6] # 温度敏感性热图 plt.figure(figsize=(12, 5)) plt.subplot(121) cf = plt.contourf(TT - 273.15, PP / 1e6, np.abs(d_rho_dT), levels=50, cmap='viridis') plt.colorbar(cf, label='|∂ρ/∂T| (kg/m³/K)') plt.contour(TT - 273.15, PP / 1e6, np.abs(d_rho_dT), colors='k', linewidths=0.5, levels=10) plt.scatter(Tc - 273.15, Pc / 1e6, c='red', marker='*', s=100, label='Critical Point') plt.xlabel('Temperature (°C)') plt.ylabel('Pressure (MPa)') plt.title('Temperature Sensitivity') plt.grid(alpha=0.3) plt.legend() # 压力敏感性热图 plt.subplot(122) cf = plt.contourf(TT - 273.15, PP / 1e6, np.abs(d_rho_dP), levels=50, cmap='plasma') plt.colorbar(cf, label='|∂ρ/∂P| (kg/m³/MPa)') plt.contour(TT - 273.15, PP / 1e6, np.abs(d_rho_dP), colors='k', linewidths=0.5, levels=10) plt.scatter(Tc - 273.15, Pc / 1e6, c='red', marker='*', s=100, label='Critical Point') plt.xlabel('Temperature (°C)') plt.ylabel('Pressure (MPa)') plt.title('Pressure Sensitivity') plt.grid(alpha=0.3) plt.legend() plt.tight_layout() plt.show() # ========================== # 高敏感区域识别 # ========================== # 识别敏感性高于平均值的区域 threshold_T = 0.8 * np.nanmax(np.abs(d_rho_dT)) threshold_P = 0.8 * np.nanmax(np.abs(d_rho_dP)) high_sens_T = np.where(np.abs(d_rho_dT) > threshold_T) high_sens_P = np.where(np.abs(d_rho_dP) > threshold_P) print("\n高温度敏感性区域特征:") print(f"- 温度范围: {np.min(TT[high_sens_T] - 273.15):.1f} ~ {np.max(TT[high_sens_T] - 273.15):.1f} °C") print(f"- 压力范围: {np.min(PP[high_sens_T] / 1e6):.1f} ~ {np.max(PP[high_sens_T] / 1e6):.1f} MPa") print("\n高压力敏感性区域特征:") print(f"- 温度范围: {np.min(TT[high_sens_P]-273.15):.1f} ~ {np.max(TT[high_sens_P] - 273.15):.1f} °C") print(f"- 压力范围: {np.min(PP[high_sens_P] / 1e6):.1f} ~ {np.max(PP[high_sens_P] / 1e6):.1f} MPa") # ========================== # 新增:折线图绘制函数 # ========================== def plot_sensitivity_profiles(): # 设置固定参数 fixed_pressures = [7.38, 10, 15, 20] # MPa (临界压力和其他典型值) fixed_temperatures = [35, 50, 60] # °C # 创建画布 plt.figure(figsize=(15, 10)) # =================================================================== # 子图1:固定压力时温度敏感性随温度变化 # =================================================================== plt.subplot(2, 2, 1) for P_fixed in fixed_pressures: # 找到最接近的压力索引 P_idx = np.argmin(np.abs(P_values / 1e6 - P_fixed)) # 提取对应压力下的数据 T_profile = TT[:, P_idx] - 273.15 # 转换为°C sens_profile = np.abs(d_rho_dT[:, P_idx]) # 过滤无效值 valid = ~np.isnan(sens_profile) plt.plot(T_profile[valid], sens_profile[valid], lw=2, marker='o', markersize=5, label=f'P={P_fixed} MPa') plt.xlabel('Temperature (°C)') plt.ylabel('|∂ρ/∂T| (kg/m³/K)') plt.title('Temperature Sensitivity at Fixed Pressures') plt.grid(alpha=0.3) plt.legend() # =================================================================== # 子图2:固定温度时压力敏感性随压力变化 # =================================================================== plt.subplot(2, 2, 2) for T_fixed in fixed_temperatures: # 找到最接近的温度索引 T_idx = np.argmin(np.abs(T_values - (T_fixed + 273.15))) # 提取对应温度下的数据 P_profile = PP[T_idx, :] / 1e6 # 转换为MPa sens_profile = np.abs(d_rho_dP[T_idx, :]) # 过滤无效值 valid = ~np.isnan(sens_profile) plt.plot(P_profile[valid], sens_profile[valid], lw=2, marker='s', markersize=5, label=f'T={T_fixed}°C') plt.xlabel('Pressure (MPa)') plt.ylabel('|∂ρ/∂P| (kg/m³/MPa)') plt.title('Pressure Sensitivity at Fixed Temperatures') plt.grid(alpha=0.3) plt.legend() # =================================================================== # 子图3:固定压力时压力敏感性随温度变化(交叉分析) # =================================================================== plt.subplot(2, 2, 3) for P_fixed in fixed_pressures: P_idx = np.argmin(np.abs(P_values / 1e6 - P_fixed)) T_profile = TT[:, P_idx] - 273.15 sens_profile = np.abs(d_rho_dP[:, P_idx]) valid = ~np.isnan(sens_profile) plt.semilogy(T_profile[valid], sens_profile[valid], # 对数坐标 lw=2, linestyle='--', label=f'P={P_fixed} MPa') plt.xlabel('Temperature (°C)') plt.ylabel('|∂ρ/∂P| (kg/m³/MPa)') plt.title('Pressure Sensitivity vs Temperature (log scale)') plt.grid(alpha=0.3, which='both') plt.legend() # =================================================================== # 子图4:固定温度时温度敏感性随压力变化(交叉分析) # =================================================================== plt.subplot(2, 2, 4) for T_fixed in fixed_temperatures: T_idx = np.argmin(np.abs(T_values - (T_fixed + 273.15))) P_profile = PP[T_idx, :] / 1e6 sens_profile = np.abs(d_rho_dT[T_idx, :]) valid = ~np.isnan(sens_profile) plt.semilogy(P_profile[valid], sens_profile[valid], lw=2, linestyle='-.', label=f'T={T_fixed}°C') plt.xlabel('Pressure (MPa)') plt.ylabel('|∂ρ/∂T| (kg/m³/K)') plt.title('Temperature Sensitivity vs Pressure (log scale)') plt.grid(alpha=0.3, which='both') plt.legend() plt.tight_layout() plt.show() # ========================== # 执行绘图 # ========================== print("\n生成折线图...") plot_sensitivity_profiles()】
05-11
import numpy as np import matplotlib.pyplot as plt import pandas as pd from datetime import datetime # ==================== 1. 加载数据并预处理 ==================== data = [] with open('monthly_co2.xls', 'r') as f: lines = f.readlines() start_parsing = False for line in lines: if 'Yr' in line and 'Mn' in line and 'CO2' in line: start_parsing = True continue if not start_parsing: continue parts = line.strip().split() if len(parts) < 3: continue try: yr = int(float(parts[0])) mn = int(float(parts[1])) co2 = float(parts[2]) if co2 != -99.99: data.append([yr, mn, co2]) except: continue df = pd.DataFrame(data, columns=['Yr', 'Mn', 'CO2']) # 构造 x:从1958年3月开始计数(第一个有效点) df['x'] = (df['Yr'] - 1958) * 12 + (df['Mn'] - 1) df = df.sort_values(by='x').reset_index(drop=True) # 相对于 279 ppm 的偏差 y_base = 279.0 y = df['CO2'].values - y_base x = df['x'].values N = len(x) # ==================== 2. 构建设计矩阵 A ==================== A = np.column_stack([ np.ones(N), x, np.cos(2 * np.pi * x / 12), np.sin(2 * np.pi * x / 12) ]) # ==================== 3. 手动求解正规方程 ==================== AtA = A.T @ A Aty = A.T @ y # 求逆解 θ = (A^T A)^{-1} A^T y theta = np.linalg.inv(AtA) @ Aty a, b, c, d = theta print("拟合参数:") print(f"a (常数项) = {a:.4f}") print(f"b (趋势斜率) = {b:.6f}") print(f"c (余弦振幅) = {c:.4f}") print(f"d (正弦振幅) = {d:.4f}") # ==================== 4. 预测与 RMSE ==================== y_pred = A @ theta rmse = np.sqrt(np.mean((y_pred - y) ** 2)) print(f"\nRMSE = {rmse:.4f} ppm") # ==================== 5. 绘图 ==================== plt.figure(figsize=(14, 6)) plt.plot(x, y + y_base, 'bo', markersize=2, label='原始数据') x_smooth = np.linspace(x.min(), x.max(), 1000) y_smooth = a + b * x_smooth + \ c * np.cos(2 * np.pi * x_smooth / 12) + \ d * np.sin(2 * np.pi * x_smooth / 12) plt.plot(x_smooth, y_smooth + y_base, 'r-', linewidth=2, label='最小二乘拟合') plt.title("大气CO₂浓度:原始数据 vs 最小二乘拟合曲线") plt.xlabel("距1958年3月的月数 (x)") plt.ylabel("CO₂ 浓度 (ppm)") plt.legend() plt.grid(True) plt.tight_layout() plt.show() # ==================== 6. 预测指定时间点 ==================== def year_month_to_x(yr, mn): return (yr - 1958) * 12 + (mn - 1) target_times = [(2004, 5), (2004, 9), (2005, 5), (2005, 9)] results = [] for yr, mn in target_times: x_val = year_month_to_x(yr, mn) y_hat = a + b * x_val + c * np.cos(2 * np.pi * x_val / 12) + d * np.sin(2 * np.pi * x_val / 12) co2_pred = y_hat + y_base # 查找实际值(如果有) actual_row = df[(df['Yr'] == yr) & (df['Mn'] == mn)] if not actual_row.empty: co2_true = actual_row['CO2'].iloc[0] error = co2_pred - co2_true else: co2_true = np.nan error = np.nan results.append({ 'Year': yr, 'Month': mn, 'Predicted CO2': co2_pred, 'True CO2': co2_true, 'Error': error }) print("\n预测结果:") for r in results: print(f"{r['Year']}-{r['Month']:02d}: " f"预测={r['Predicted CO2']:.2f}, " f"真值={r['True CO2']:.2f if not np.isnan(r['True CO2']) else -99.99}, " f"误差={r['Error']:.2f if not np.isnan(r['Error']) else -99.99}") 此代码存在问题,请重新编辑
11-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值