当前位置: 首页 > news >正文

学校网站建设源码wordpress本地nginx

学校网站建设源码,wordpress本地nginx,安装wordpress主题,网页制作三剑客软件下载题目:(费用报销) 题目描述(13届 C&C B组F题) 解题思路: 1. 问题抽象 本问题可以看作一个限制条件较多的优化问题,核心是如何在金额和时间约束下选择最优方案: 动态规划是理想…

题目:(费用报销)

题目描述(13届 C&C++ B组F题)

 

解题思路:

1. 问题抽象

本问题可以看作一个限制条件较多的优化问题,核心是如何在金额和时间约束下选择最优方案

  • 动态规划是理想的解决方法。

  • 我们定义 dp[i]到第 i 天为止的最大报销金额

2. 日期统一化

为了方便处理时间差,需将日期(月份和天数)统一转化为一年中的第几天。例如:

  • 1 月 1 日为第 1 天;

  • 2 月 1 日为第 32 天(31+1)。

这一步能让日期差的计算简单且高效。

3. 动态规划状态转移

  • 状态表示dp[i] 表示到第 i 天为止的最大报销金额。

  • 转移方程:对每张票据:

    • 如果报销当前票据:dp[i] = max(dp[i-1], dp[pre] + v[i]),其中 pre = i - K

    • 如果不报销当前票据:dp[i] = dp[i-1]

4. 优化思路

  • 按票据日期排序,确保动态规划时的时间顺序正确。

  • 动态更新 dp 数组,逐步累积最大金额。

代码实现(C语言):

#include <stdio.h>
#include <stdlib.h>typedef struct {int day, v;
} dps;int N, M, K;
int m[1009], d[1009];
dps dp[1009];
int a[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int p[366] = {0};// 计算每月对应的天数累计和
int month(int mi) {int sum = 0;for (int i = 0; i < mi - 1; i++) sum += a[i];return sum;
}// 将日期统一成一年中的第几天
void becomeday() {for (int i = 0; i < N; i++) {dp[i].day = month(m[i]) + d[i];p[dp[i].day] = dp[i].v;}
}// 比较函数,用于qsort排序
int cmp(const void *a1, const void *a2) {dps s1 = *(dps *)a1;dps s2 = *(dps *)a2;return s1.day - s2.day;
}int main() {scanf("%d%d%d", &N, &M, &K);for (int i = 0; i < N; i++) {scanf("%d%d%d", &m[i], &d[i], &dp[i].v);}// 转换日期并排序becomeday();qsort(dp, N, sizeof(dp[0]), cmp);// 动态规划for (int i = 1; i < 366; i++) {int pre = i - K >= 0 ? i - K : 0;if (p[i] + p[pre] <= M) {p[i] = p[i] + p[pre] > p[i - 1] ? p[i] + p[pre] : p[i - 1];} else {p[i] = p[i - 1];}}printf("%d", p[365]);return 0;
}

得到运行结果:

难度分析

⭐️⭐️⭐️⭐️⭐️难难难难难难

总结

本题核心在于将日期处理动态规划相结合,解决了多条件限制下的最优选择问题。
以下是总结要点:

  1. 日期统一化:通过天数累计简化日期差值计算。

  2. 动态规划核心:记录每一天的最大报销金额,并逐步更新。

  3. 代码结构清晰:日期处理、排序和动态规划分模块实现,方便理解和维护。

http://www.yayakq.cn/news/824219/

相关文章:

  • 上海网站建设商城如何干电商
  • 建设银行网站会员有什么用哪些网站用黑体做的
  • 建设一个网站的费用网站做的自适应体验差
  • 成都官方网站建设淘宝指数在哪里查询
  • 经典的响应式布局网站wordpress跳转站点
  • 专注番禺网站优化网站建设制作设计营销 上海
  • 建设工程网站建筑工程预算wordpress 托管主机
  • 桂林哪里学建设网站广州市品牌网站建设服务机构
  • 惠山区住房和建设厅网站怎么卸载windows优化大师
  • 常州高端网站建设公司特产电商网站建设报价单
  • 做企业网站合同广州开发区官网
  • wordpress 站内信 群发阿里云主机 wordpress
  • 包装设计网站有哪些大汉网站开发
  • 国内网站需要备案摄影作品
  • 具有品牌的做pc端网站网站建设的感想与建议
  • 个人网站多少钱仓库管理软件哪个好
  • 百捷网站建设重庆官方推广网站
  • 汕头多语种网站制作新品发布会手机
  • 可视化建站网站源码重庆免费发布信息网站
  • 建设建设网站的百度免费邮箱注册
  • 网站如何绑定公众号广州微网站建设怎么样
  • 网站发文超链接怎么做免费制作手机app软件
  • 商丘柘城做网站有没有必要给企业做网站
  • wordpress 轮播图 修改揭阳新站seo方案
  • 盐城网站开发代理网站建设案例简介怎么写
  • 旅游公司网站模板wordpress 邮件配置
  • 百度 医疗网站建设wordpress js被挂木马
  • wordpress多站点好用吗网站里面的链接怎么做
  • 企业网站如何优化排名网络营销推广的渠道是什么
  • 网站基本信息设置附近网站建设服务公司