BJTU 1688 Quartz的宝藏

本文讨论了一个涉及字符串字典序的复杂问题,通过动态规划和前缀和的方法解决,重点阐述了如何处理边界条件和内部大小关系,以避免对手获取过大利益。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传送门:http://acm.bjtu.edu.cn/problem/detail?pid=1688

解题思路:与字符串字典序问题相似,不过本题的要求更为复杂,最初以为可以用贪心解决,不过很显然没这么简单,首先要考虑两边的数字相同的情况,但是同时你又要考虑内部的大小关系,不能让对方拿到过大的金子,一度思维进入僵局,可见当时对于dp还不是很熟悉,而本题明显需要一种动态规划的思想。

解题方法:DP + 前缀和

代码如下:
#include <iostream>
#include <cstdio>
using namespace std;

int sum[505];   //保存前缀和
int a[505];     //save the gold
int dp[505][505];
int main()
{
    freopen("test.txt","r",stdin);
    int t,i,j;
    int l,r;
    int total;
    int n;
    scanf("%d",&t);
    for(i=1;i<=t;i++)
    {
        scanf("%d",&n);
        total = 0;
        for(j=1;j<=n;j++)
        {
            scanf("%d",&a[j]);
            total += a[j];
            sum[j] = total;     //记录前缀和
            dp[j][j] = a[j];
        }
        for(l=n;l>0;l--)
        {
            for(r=l+1;r<=n;r++)
            {
                int temp1,temp2;    				//分别模拟从两边取出数字的情况
                temp1 = a[l] + sum[r] - sum[l] - dp[l+1][r];
                temp2 = a[r] + sum[r-1] - sum[l-1] - dp[l][r-1];//dp【l】【r】认为是从l开始到r由此人来取最后一个数的时候,他能获得的最大数值
                dp[l][r] = max(temp1,temp2);
            }
        }
        printf("Case #%d: ",i);
        printf("%d %d\n",dp[1][n],total-dp[1][n]);
    }
    //cout << "Hello world!" << endl;
    return 0;
}

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理多种文件类型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI 和 iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc 和 xls。Apache POI 提供了 HSSF 和 XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取和写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行和列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row 和 Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成和修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表和表格加入 PDF,图片可通过 Image 类加载插入。iTextPDF 支持多种字体和样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 类能将 HTML、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值