寒假Day2

寒假Day2

上午考试
三道题 300得80分
第一题空间开小挂到60分
剩下的两题基本瞎打。
我的二分答案实在是非常垃圾。

一、二分答案
对于一些问题,它的解满足单调性,即如果x满足条件,则对于任意的 i ( 1<=i<=x) 或 (x <=i <=n) (假设1和n是答案的上下界)都会满足条件。
使最大……最小、……至少是多少、求出最少的……。
一步一步地缩小答案范围最终出解。
1.数的简单划分
二分答案+贪心
二分答案到最后一个满足该最大值的最小数(check检验能否满足分成k段)
2.跳石头
跟数的简单划分原理一样
3.皇帝的烦恼
这个check比较迷
因为是环形的一个颜色圈,我们可以用两个数组记录
M[i]记录i位置与第一个比较最多有多少个和第一个所有颜色不同
N[i]记录i位置与第一个比较最多有多少个和第一个所有颜色不同

M[1]=N[1]=a[1];
for(int i=2;i<=n;i++){
    N[i]=min(a[i],a[1]-M[i-1]);  
    M[i]=max(0,a[1]+a[i]+a[i-1]-N[i-1]-x); 
}

那么我们只要看最后一个和第一个颜色相同的是不是0了
二、动态规划
1.消失之物

Description
ftiasch 有 N 个物品, 体积分别是 W1, W2, …, WN。 由于她的疏忽, 第 i 个物品丢失了。 “要使用剩下的 N – 1 物品装满容积为 x 的背包,有几种方法呢?” — 这是经典的问题了。她把答案记为 Count(i, x) ,想要得到所有1 <= i <= N, 1 <= x <= M的 Count(i, x) 表格。

for(int i=1;i<=n;i++){
        c[i][0]=1;
        for(int j=1;j<=m;j++){
            if(j>=w[i]) c[i][j]=(f[j]-c[i][j-w[i]]+10)%10;
            else c[i][j]=f[j];
            cout<<c[i][j];
        }
        cout<<endl;
}

这道题就是先用一个一维的f数组记录i体积时的方案数
c[i][j]就是当i物品不选时填满容积为j时的最小方案数
所以对于c[i][j]就有两种讨论的情况
如果当前的体积不够容纳下w[i]就直接等于f所统计的方案数
如果够容纳的下w[i]那么就需要其中使用第i个物品填满j的空间的方案数等于使用其余物品填满j-w(i)的空间的方案数
2.音量调节
水题

F[0][Bl]=1;
    for(int i=1;i<=n;i++)
        for(int j=0;j<=Ml;j++){
            if(j+c[i]<=Ml){
                if(F[i-1][j+c[i]])
                    F[i][j]=1;
            }
            if(j-c[i]>=0){
                if(F[i-1][j-c[i]])
                    F[i][j]=1;
             }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 非常好的想法! 这是一个很好的机会学习一些编程和办公软件的基本知识. 好的,让我们开始吧! 首先,我们需要使用 Python 中的 requests 库来获取天气数据. 你可以使用 pip 安装它: ``` pip install requests ``` 然后,你需要找到一个天气 API 来获取天气数据. 一个很好的选择是 OpenWeatherMap API. 首先,你需要到它的网站上注册一个帐户并获取一个 API key. 然后,你可以使用下面的代码来获取当前天气数据: ```python import requests # Replace YOUR_API_KEY with your actual API key API_KEY = "YOUR_API_KEY" # Location coordinates (latitude, longitude) COORDINATES = "40.7128,-74.0060" # API endpoint ENDPOINT = "https://api.openweathermap.org/data/2.5/weather" # Query parameters PARAMS = { "lat": COORDINATES[0], "lon": COORDINATES[1], "appid": API_KEY, } # Send a GET request to the API endpoint response = requests.get(ENDPOINT, params=PARAMS) # Print the response status code print(response.status_code) # Print the response content print(response.text) ``` 这会返回一个 JSON 格式的天气数据. 你可以使用 Python 中的 json 库来解析它: ```python import json # Parse the JSON data data = json.loads(response.text) # Print the temperature in degrees Celsius print(data["main"]["temp"] - 273.15) ``` 现在,你已经学会了如何使用 Python 获取天气数据. 接下来,我们需要将这些数据存储到 Excel 表格中. 你可以使用 Python 中的 openpyxl 库来读写 Excel 文件: ``` pip install openpyxl ``` 然 ### 回答2: 在使用Python和Excel创建一个显示每日天气的寒假学习计划表的项目中,我们可以使用Python中的openpyxl库来操作Excel文件,并使用API获取每日的天气数据。 首先,我们需要安装openpyxl库。在命令行中运行以下命令: ``` pip install openpyxl ``` 接下来,创建一个名为"weather_study_plan.py"的Python文件,并导入所需的库: ```python import openpyxl import requests from datetime import date ``` 然后,我们可以定义一个函数来获取每日的天气数据: ```python def get_weather(): API_KEY = "your_api_key" # 这里需要替换为实际的天气API密钥 # 获取当前日期 today = date.today().strftime("%Y-%m-%d") # 请求天气数据 url = f"https://api.weatherapi.com/v1/current.json?key={API_KEY}&q=your_city&dt={today}" response = requests.get(url) weather_data = response.json() # 提取所需的天气信息 temperature = weather_data["current"]["temp_c"] condition = weather_data["current"]["condition"]["text"] return temperature, condition ``` 接下来,我们可以编写一个函数来创建并填充Excel表格: ```python def create_excel(): # 创建Excel文件 workbook = openpyxl.Workbook() sheet = workbook.active # 设置表头 sheet["A1"] = "日期" sheet["B1"] = "天气" sheet["C1"] = "温度" # 填充每日的天气数据 for i in range(1, 31): date_cell = sheet.cell(row=i + 1, column=1) weather_cell = sheet.cell(row=i + 1, column=2) temperature_cell = sheet.cell(row=i + 1, column=3) # 获取每日的天气数据 date_cell.value = date(year=2023, month=1, day=i).strftime("%Y-%m-%d") temperature, condition = get_weather() weather_cell.value = condition temperature_cell.value = temperature # 保存Excel文件 workbook.save("weather_study_plan.xlsx") ``` 最后,我们可以在脚本的主函数中调用create_excel()函数来创建并填充Excel表格: ```python def main(): create_excel() if __name__ == "__main__": main() ``` 在运行脚本之前,需要将API_KEY和城市名称替换为实际的数值。然后在命令行中运行以下命令: ``` python weather_study_plan.py ``` 经过脚本的执行,会在当前目录下生成一个名为"weather_study_plan.xlsx"的Excel文件,文件中包含了一个显示了每日天气的寒假学习计划表。 ### 回答3: 使用Python和Excel可以很容易地创建一个显示每日天气的寒假学习计划表。下面是实现此功能的简要步骤: 1. 安装所需库: 在Python环境中安装openpyxl库,它可以用于与Excel文件进行交互。 2. 创建一个Excel文件: 使用openpyxl库创建一个新的Excel文件,并创建一个工作表。 3. 获取天气数据: 使用合适的天气API或网站来获取每日的天气数据。你可以使用requests库或其他适用的库来访问API并获取数据。将这些数据保存到一个列表或字典中。 4. 写入Excel文件: 使用openpyxl库将天气数据写入Excel文件的工作表中。可以使用for循环遍历天气数据,逐行将数据写入工作表的单元格。 5. 添加学习计划: 将学习计划写入Excel文件的相应单元格。你可以提前在代码中定义学习计划,或者让用户在程序运行时输入学习计划。 6. 保存并关闭Excel文件: 使用openpyxl库保存并关闭Excel文件。 以下是一个示例代码,实现了上述步骤: ```python import openpyxl import requests # 创建一个新的Excel文件和工作表 workbook = openpyxl.Workbook() sheet = workbook.active # 获取天气数据 response = requests.get('http://api.weather.com/...') weather_data = response.json() # 写入天气数据到Excel文件 for i, data in enumerate(weather_data): date = data['date'] temperature = data['temperature'] sheet.cell(row=i+1, column=1).value = date sheet.cell(row=i+1, column=2).value = temperature # 添加学习计划 study_plans = { '2022-01-01': '数学', '2022-01-02': '英语', '2022-01-03': '物理', # 其他学习计划... } for i, date in enumerate(study_plans): plan = study_plans[date] sheet.cell(row=i+1, column=3).value = plan # 保存并关闭Excel文件 workbook.save('寒假学习计划表.xlsx') workbook.close() ``` 请注意,以上代码仅提供了一个框架,具体的实现取决于你获取天气数据的方式和学习计划的制定方法。你需要根据实际情况进行适当的修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值