2025/5/15

第一题

P. 习题3.3.7 平面分割

题目描述

同一平面内有 n(n≤500)条直线,已知其中 p(p≥2)条直线相交于同一点,则这 n 条直线最多能将 平面分割成多少个不同的区域?

输入格式

两个整数 n(n≤500)和 p(2≤p≤n)。

输出格式

一个正整数,代表最多分割成的区域数目。

样例数据

input


12  5 

Copy

output


73

Copy

数据规模与约定

时间限制:1 \text {s}1s

空间限制:256 \text {MB}256MB

首先,试着写出N=1,2,3,4的结果(找规律):
N=1——2个,N=2——4个,N=3——7个,N=4——11个,递推规律已经很明显了,第N个会等于第(N-1)个+N,即 F(N)=F(N-1)+N

代码

#include<bits/stdc++.h> 
using namespace std;
int a[1000]={0}; 
int num(int n){
    if(a[n]){
        return a[n];
    }
    a[n]=num(n-1)+n;
    return a[n];

int main(){
        freopen("surface.in","r",stdin);
    freopen("surface.out","w",stdout);
    int n,p;
    cin>>n>>p; 
    a[p]=2*p;
    cout<<num(n);
    return 0;
}

第二题

Q. 例题3.4.1 减法

题目描述

一般情况下,拍卖行的拍卖师在拍卖商品的时候都是从低价开始起拍,由买方报价,最后谁出的价格高,商品就归谁所有。但焦作一中信奥公司有个拍卖行,拍卖师小刘在拍卖商品时正好相反:总是从高价开始起拍,如果没有人举成交牌就降价,而且拍卖师在降价时还有规律:假如第i次报价为w元,那么第i+1次报价为w-a或者w-b元,如果降到p元时,你认为价格合适,赶快第一个举成交牌,你就花p元买下了商品。

任务:拍卖师把商品从w元降到p元的方法总数。

输入格式

文件第一行有两个正整w 和p ,第二行有有两个正整a 和b.

1 ≤ w,p ≤ 10^6  , 2 ≤ a,b ≤ 10000, a不等于b.

输出格式

文件只有一行,即所求得的方法总数。注意:测试数据中方法总数不超过MAXlongint.

样例数据

input


10  3

2  3



Copy

output


3



Copy

数据规模与约定

保证2 \leq a,b \leq 100002≤a,b≤10000

时间限制:1 \text {s}1s

空间限制:256 \text {MB}256MB

#include<bits/stdc++.h>
using namespace std;
int x,y,a,b,f[1001000];
int dfs(int k)
{
    if(f[k]>=0)return f[k];
    if(k<y)return 0;
    f[k]=dfs(k-a)+dfs(k-b);
    return (f[k]);
}
int main()
{
    freopen("pm.in","r",stdin);
    freopen("pm.out","w",stdout);
    cin>>x>>y>>a>>b;
    memset(f,-1,sizeof(f));
    f[y]=1;
    cout<<dfs(x);    
    return 0;
}

第三题

 习题4.1.13 三值排序

题目描述

排序是一种很频繁的计算任务。现在考虑最多只有三值的排序问题。

一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候。在这个任务中可能的值只有三种1,2和3。我们用交换的方法把他排成升序的。

写一个程序计算出,给定的一个1,2,3组成的数字序列,排成升序所需的最少交换次数。

输入格式

第 1 行:奖牌个数N (1 <= N <= 1000)

第 2 行到第 N+1 行:

每行一个数字,表示奖牌。共N行。(1..3)

输出格式

共一行,一个数字。表示排成升序所需的最少交换次数。

样例数据

input


9

2

2

1

3

3

3

2

3

1 



Copy

output


4

Copy

数据规模与约定

时间限制:1 \text {s}1s

空间限制:256 \text {MB}256MB

#include<iostream>

#include<algorithm>

using namespace std;

int main(){

int n,a[100],b[100],i,a1=0,a2=0,a3=0;

cin>>n;

for(i=1;i<=n;i++){

cin>>a[i];

if(a[i]==1)a1++;

if(a[i]==2)a2++;

if(a[i]==3)a3++;

}

for(i=1;i<=n;i++){

if(a1>=i)b[i]=1-a[i];

if(a1+a2>=i&&i>a1)b[i]=2-a[i];

if(a1+a2+a3>=i&&i>a2+a1)b[i]=3-a[i]; }

int q1=0,q2=0,w1=0,w2=0;

for(i=1;i<=n;i++){

if(b[i]==1)q1++;

if(b[i]==-1)w1++;

if(b[i]==2)q2++;

if(b[i]==-2)w2++;

}

cout<<max(q1,w1)+min(q2,w2);

}

这不是这道题我不知道哪点错了,只能得到85分。

我发现我基础代码应该是没错。可能是开数组时有点问题。

商品ID 销售日期 商品名称 销售数量 单价(元) 销售额(元) 支付方式 SP001 2025/5/1 可口可了 5 3.5 17.5 微信 sp002 2025/5/1 营养快線 3 4 12 支付宝 SP003* 05-01-2025 泡面 2 5 10 ZHI FU BAO SP004 2025/5/2 火腿肠 10 2 20 weixin SP005 2025/5/2 面包 6 24 未记录 SP006 2025/2/28 矿泉水 8 2 16 现金 SP001 2025/5/3 可口可乐 5 3.5 18 微信 SP007 2025/5/3 薯片 6 4.5 27 支付宝 SP008 05/03/2025 方便面 3 5 15 WEIXIN SP009 2025/5/4 牛奶 2 10 20 支付宝 2025/5/4 饼干 7 3 21 微信 SP011 2025/5/5 巧克力 3 8 24 支付宝 SP012 05-05-2025 果冻 10 2.5 25 现金 SP013 2025/5/5 瓜子 4 6 24 微信 SP014 2025/5/6 牛肉干 10 15 150 支付宝 SP015 2025/5/6 糖果 15 1 14 未记录 SP001* 2025/5/7 可口可了 53.5 17.5 微信 SP016 2025/5/7 蛋糕 3 15 45 支付宝 SP017 05-07-2025 蛋黄派 7 4 28 ZHI FU BAO SP018 2025/5/8 薯片 -3 4.5 -13.5 微信 SP019 2025/5/8 可乐 6 3 18 微信 SP020 2025/5/9 雪碧 4 3 支付宝 SP021 05-09-2025 面包 2 6 12 现金 SP022 2025/5/10 方便面 5 5 25 weixin SP023 2025/5/10 火腿肠 8 2 16 支付宝 SP024 2025/5/11 牛奶 3 10 30 未记录 SP025 2025/5/11 饼干 6 3 18 微信 SP026 05-11-2025 巧克力 2 8 16 支付宝 SP027 2025/5/12 果冻 9 2.5 22.5 现金 SP028 2025/5/12 瓜子 3 6 微信 SP029 2025/5/13 牛肉干 1 15 15 ZHI FU BAO SP030 2025/5/13 糖果 12 1 12 支付宝 SP031 05-13-2025 蛋糕 2 15 30 weixin SP032 2025/5/14 蛋黄派 5 4 20 支付宝 SP033 2025/5/14 薯片 7 4.5 31.5 微信 SP034 2025/5/15 可乐 4 3 12 未记录 SP035 2025/5/15 雪碧 6 3 18 支付宝 SP036 05-15-2025 矿泉水 10 2 20 现金 SP037 2025/5/16 面包 3 6 18 微信 SP038 2025/5/16 方便面 4 5 20 支付宝 SP039 2025/5/17 火腿肠 6 2 12 weixin SP040 2025/5/17 牛奶 2 10 元 现金 SP041 05-17-2025 饼干 5 3 15 微信 SP042 2025/5/18 巧克力 3 ¥8 24 支付宝 SP043 2025/5/18 果冻 8 2.5 20 未记录 SP044 2025/5/19 瓜子 4 6 24 微信 SP045 2025/5/19 牛肉干 2 15 30 ZHI FU BAO SP046 05-19-2025 糖果 10 1 10 支付宝 SP047 2025/5/20 蛋糕 1 15 15 weixin SP048 2025/5/20 蛋黄派 6 4 24 现金 SP049 2025/5/21 薯片 4 4.5 18 微信 SP050 2025/5/21 可乐 7 3 20 支付宝 SP051 05-22-2025 雪碧 5 3 15 微信 SP052 2025/5/22 矿泉水 9 2 18 支付宝 SP053 2025/5/23 面包 4 6 24 现金 SP054 2025/5/23 方便面 6 6 30 weixin SP054 2025/5/23 方便面 6 5 30 weixin SP055 2025/5/24 火腿肠 7 2 14 支付宝 SP056 2025/5/24 牛奶 4 10 40 未记录 SP057 05-25-2025 饼干 8 3 微信 SP059 2025/5/26 果冻 10 2.5 25 现金 SP058 2025/5/25 巧克力 3 8 25 支付宝 SP059 2025/5/26 果冻 10 2.5 25 现金 SP060 2025/5/26 瓜子 5 6 30 微信 SP061 2025/5/27 牛肉干 3 15 45 ZHI FU BAO SP062 05-27-2025 糖果 15 1 15 支付宝 SP063 2025/5/28 蛋糕 2 15 30 weixin SP064 2025/5/28 蛋黄派 8 4 支付宝 SP065 2025/5/29 薯片 6 4.5 27 微信 SP066 2025/5/29 可乐 8 3 24 未记录 SP067 05-30-2025 雪碧 7 21 支付宝 SP068 2025/5/30 矿泉水 12 2 24 现金 SP069 2025/5/31 面包 3 6 18 weixin SP070 2025/5/31 方便面 4 5 20 支付宝 SP071 2025/6/1 火腿肠 9 2 18 微信 SP072 2025/6/1 牛奶 5 10 50 未记录 SP073 06-02-2025 饼干 7 21 支付宝 SP074 2025/6/2 巧克力 4 8 32 现金 SP075 2025/6/3 果冻 8 2.5 20 weixin SP076 2025/6/3 瓜子 6 4.5 36 SP077 2025/6/4 牛肉干 2 15 30 SP078 06-04-2025 糖果 11 1 11 支付宝 SP079 2025/6/5 蛋糕 3 15 45 weixin SP080 2025/6/5 蛋黄派 9 4 36 支付宝 SP081 2025/6/6 薯片 5 4.5 22.5 微信 SP082 2025/6/6 可乐 9 3 27 未记录 SP083 06-07-2025 雪碧 6 3 18 支付宝 SP084 2025/6/7 矿泉水 11 2 22 现金 SP085 2025/6/8 面包 5 6 30 weixin SP086 2025/6/8 方便面 7 5 35 支付宝 SP087 2025/6/9 火腿肠 8 2 16 微信 SP088 2025/6/9 牛奶 3 10 30 未记录 SP089 06-10-2025 饼干 9 3 27 支付宝 SP090 2025/6/10 巧克力 4 8 32 现金 SP091 2025/6/11 果冻 11 2.5 27.5 weixin SP092 2025/6/11 瓜子 7 6 42 微信 SP093 2025/6/12 牛肉干 3 15 45 ZHI FU BAO SP094 06-12-2025 糖果 13 1 13 支付宝 SP095 2025/6/13 蛋糕 4 15 60 weixin SP096 2025/6/13 蛋黄派 10 4 40 支付宝 SP097 2025/6/14 薯片 6 4.5 27 微信 SP098 2025/6/14 可乐 10 3 30 未记录 SP099 06-15-2025 雪碧 7 3 21 SP100 2025/6/15 矿泉水 13 2 26 现金 对此列表的内容,如何使用pandas进数据清洗
最新发布
07-08
"减脂塑形饮食计划" "upload/jianzhi.jpg,upload/jianzhi1.jpg,upload/jianzhi2.jpg" "2025/1/17" "2025/1/17" "控制高热量、高脂肪、高糖食物摄入" "根据身体脂肪含量和目标,计算每日热量摄入,制造热量缺口,结合运动计划" "详情见建议内容" "2025/1/17 18:45:55" "低热量食物:多吃蔬菜(每日 500 克以上)、水果(每日 200 - 300 克,选择低糖水果) 。优质蛋白:选择鸡胸肉(每日 100 - 150 克)、鱼虾类(每周 3 - 4 次,每次 100 - 150 克)、豆类(每日 50 - 100 克) 。碳水化合物:以粗粮(如玉米、糙米、燕麦,每日 50 - 100 克)为主,减少精米白面摄入。" " 避免夜宵和零食" "8" "8" "2025/5/15 09:52:11" "82" "0" "8" "9" "2025/5/19 16:25:25" "高纤维健康计划" "upload/fiber1.jpg,upload/fiber2.jpg" "2025/3/1" "2025/3/28" "每日摄入30g以上膳食纤维" "分阶段增加粗粮比例" "详情见建议内容" "2025/3/1 09:00:00" "早餐:燕麦片50g+奇亚籽。午餐:糙米饭+西兰花。晚餐:全麦意面。" "搭配充足饮水" "78" "3" "2025/3/5 14:30:00" "45" "5" "12" "10" "2025/5/19 16:25:25" "低嘌呤痛风计划" "upload/gout1.jpg,upload/gout2.jpg" "2025/4/10" "2025/5/10" "限制动物内脏和海鲜" "分期减少高嘌呤食物" "详情见建议内容" "2025/4/10 10:30:00" "蛋白质以蛋奶为主,蔬菜选择低草酸品种" "每日饮水2000ml以上" "34" "7" "2025/4/15 16:45:00" "67" "3" "8" "11" "2025/5/19 16:25:25" 按照以上格式生成10种不同的饮食计划
05-24
import matplotlib.pyplot as plt import matplotlib.dates as mdates from datetime import datetime # 数据 dates = [ "2024/12/20", "2024/12/21", "2024/12/22", "2024/12/23", "2024/12/24", "2024/12/25", "2024/12/26", "2024/12/27", "2024/12/28", "2024/12/29", "2024/12/30", "2024/12/31", "2025/1/1", "2025/1/2", "2025/1/3", "2025/1/4", "2025/1/5", "2025/1/6", "2025/1/7", "2025/1/8", "2025/1/9", "2025/1/10", "2025/1/11", "2025/1/12", "2025/1/13", "2025/1/14", "2025/1/15", "2025/1/16", "2025/1/17", "2025/1/18", "2025/1/19", "2025/1/20", "2025/1/21", "2025/1/22", "2025/1/23", "2025/1/24", "2025/1/25", "2025/1/26", "2025/1/27", "2025/1/28", "2025/1/29", "2025/1/30", "2025/1/31", "2025/2/1", "2025/2/2", "2025/2/3", "2025/2/4", "2025/2/5", "2025/2/6", "2025/2/7", "2025/2/8", "2025/2/9", "2025/2/10", "2025/2/11", "2025/2/12", "2025/2/13", "2025/2/14", "2025/2/15", "2025/2/16", "2025/2/17", "2025/2/18", "2025/2/19", "2025/2/20", "2025/2/21", "2025/2/22", "2025/2/23", "2025/2/24", "2025/2/25", "2025/2/26", "2025/2/27", "2025/2/28", "2025/3/1", "2025/3/2", "2025/3/3", "2025/3/4", "2025/3/5", "2025/3/6", "2025/3/7", "2025/3/8", "2025/3/9", "2025/3/10", "2025/3/11", "2025/3/12", "2025/3/13", "2025/3/14", "2025/3/15" ] counts = [ 97, 58, 58, 5, 97, 40, 6, 160, 13, 45, 14, 173, 96, 85, 83, 37, 141, 112, 17, 158, 52, 19, 279, 7, 44, 122, 141, 275, 87, 76, 410, 184, 217, 369, 67, 86, 10, 21, 223, 343, 39, 354, 128, 61, 145, 116, 112, 326, 94, 357, 46, 279, 288, 574, 83, 236, 53, 153, 22, 173, 61, 66, 163, 18, 199, 280, 116, 370, 147, 34, 198, 108, 176, 56, 57, 101, 46, 30, 210, 306, 197, 108, 208, 134, 251, 266 ] # 将日期字符串转换为datetime对象 dates = [datetime.strptime(date, "%Y/%m/%d") for date in dates] # 创建图形 plt.figure(figsize=(15, 7)) # 绘制折线图 plt.plot(dates, counts, marker=&#39;o&#39;, linestyle=&#39;-&#39;, color=&#39;b&#39;) # 设置标题和标签 plt.title("信息条数随时间变化", fontsize=16) plt.xlabel("日期", fontsize=14) plt.ylabel("信息条数", fontsize=14) # 格式化x轴日
03-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值