Skip to content

泉州一中信息学Blog

信息学奥赛技术分享博客

  • 登录
  • 小学oj
  • 中学oj
  • 测试页面1
  • Toggle search form

常州Day4(补8.15)

Posted on 2024年8月16日2024年8月16日 By 吴 欣蓉 常州Day4(补8.15)有1条评论

上午老师让我们把前几天的东西消化掉,我利用这时间改掉了昨天的T1

一种朴素的做法,用f[i]表示存留区间内([1,i])没有其他合并时的贡献
比赛时就只想到这,但这样无法处理有包含关系的区间,想不出怎么解决就先这么打上去了想着碰碰运气(什
赛后看题解才知道,要将每个牌组按数量从小到大排序,从小到大合并,如果存在包含关系的区间考虑更新f

#include
using namespace std;
#define PII pair
const int N=3005;
int n,a[N<<1],f[N<<1],g[N<<1];
/*g[i]表示将a[i]合并所得的最大得分*/
vector  p(N);
vector  pp(N);
/*p[i]存i在n张牌中的起始位置和终止位置
pp同p,按照两张牌间隔距离进行排序*/
bool cmp(PII a,PII b){
    return a.second-a.first>n;
    for(int i=1;i>a[i];
        if(p[a[i]].first)p[a[i]].second=i;
        else p[a[i]].first=i;
    }
    p.push_back({0,2*n+1});//用于最后得出整个区间的值
    pp=p;
    sort(pp.begin(),pp.end(),cmp);
    for(int i=1;i<pp.size();i++){//区间从小到大合并
        PII tmp=pp[i];
        int l=tmp.first,r=tmp.second;
        f[l]=a[l];
        for(int j=l+1;jl){
                f[j]=max(f[j],f[b-1]+g[j]);
            }
        }
        g[r]=f[r];
    }
    cout<<g[n*2+1]<<endl;
    return 0;
}

下午是二分答案
例1晒衣服
可以贪心地每次烘干最湿的衣服
用到优先队列来存各个湿度

#include
using namespace std;
const int N=5e5+5;
int n,a,b,w[N],d;
struct cmp{
    bool operator()(const int &a,const int &b){
        return a<b;
    }
};
priority_queue <int,vector,cmp> q;
int main(){
    cin>>n>>a>>b;
    for(int i=1;i>w[i];
        q.push(w[i]);
    }
    while(q.top()>d*a){
        d++;
        int tmp=q.top();
        q.pop();
        tmp-=b;
        q.push(tmp);
    }
    cout<<d; 
    return 0;
} 

先二分一个答案mid,然后枚举每件衣服,若湿度小于等于天数乘自然晒干速度,则表示第i件衣服可以自然晒干,否则表示需要用上 二者之差除以烘干速度 个单位时间的烘衣机,累计烘衣机所用的时间,若小于等于天数,则表示该答案可行,更新答案,并继续在[L,mid-1]内进行二分答案,否则该答案不可行,继续在[mid+1,R]内进行二分答案

#include
using namespace std;
const int N=5e5+5;
int n,a,b,w[N];
int main(){
    cin>>n>>a>>b;
    for(int i=1;i>w[i];
    }
    int l=1,r=N,mid=(l+r)>>1,ans;
    while(l>1;
        for(int i=1;imid*a){
                t+=ceil(double(w[i]-mid*a)/double(b));
            }
        }
        if(mid<t)l=mid+1;
        else{
            r=mid;
            ans=mid;
        }
    }
    cout<<ans<<endl;
    return 0;
} 
训练日志

文章导航

Previous Post: 常州Four Day队列,广搜
Next Post: 24常州集训Day 5

Comment (1) on “常州Day4(补8.15)”

  1. 黄, 少嵘说道:
    2024年8月16日 下午7:06

    要注明补8.15日的blog

    登录以回复

发表回复 取消回复

要发表评论,您必须先登录。

2025年 12月
一 二 三 四 五 六 日
1234567
891011121314
15161718192021
22232425262728
293031  
« 8月    

2024常州 Class Classic OI Problems Contest cqr的长乐集训2023 CZYZ LOC New Game NOI NOIP Password Protected PM_PK Preview Problems Retrospect Selfmade Qusetion STL The end Training Uneasy Problem 蒟蒻 通报

  • 训练日志
  • 链表
  • 入门
  • 模拟
  • dfs序
  • 并查集
  • spfa
  • 最小割
  • 矩阵树定理
  • 仙人掌
  • BSGS
  • 凸包
  • 回文自动机
  • 递推与动归
  • 堆
  • 莫队算法
  • ST表
  • Treap
  • 树套树
  • 可持久化线段树
  • 初赛
  • 搜索
  • 贪心
  • 深度优先搜索
  • 欧拉图
  • dijkstra
  • 费用流
  • 哈夫曼树
  • kruskual
  • 置换
  • 旋转卡壳
  • KMP
  • 区间动归
  • STL
  • 链表
  • 可并堆
  • sply
  • 主席树
  • 可持久化字典树
  • 算法
  • 动态规划
  • 构造
  • 广度优先搜索
  • 最短路
  • floyd
  • 最大流
  • 虚树
  • prim
  • 筛法
  • 半平面交
  • 字典树
  • 背包动归
  • 基础数据结构
  • 分块
  • 线段树
  • 替罪羊树
  • K-DTree
  • 图论
  • 二分法
  • 迭代搜索
  • 拓扑排序
  • 有上下界网络流
  • 生成树
  • 快速幂
  • 后缀数组
  • 树形动归
  • 哈希表
  • 中级数据结构
  • 平衡树
  • 可持久化数据结构
  • 数据结构
  • 三分法
  • 启发式搜索
  • 图的连通
  • 点分治
  • 博弈论
  • AC自动机
  • 状压动归
  • 单调栈
  • 树状数组
  • 高级数据结构
  • OI资料
  • 数学
  • 高精度
  • 差分约束
  • 树上倍增
  • 素数测试
  • 后缀自动机
  • 数位动归
  • 单调队列
  • 新闻
  • 几何
  • 随机化
  • 二分图染色
  • 树链剖分
  • 欧拉函数
  • manacher
  • 斜率优化
  • 离线处理
  • 信息学奥赛学长风采
  • 字符串
  • 二分图匹配
  • prufer编码
  • 卡特兰数
  • 密码学
  • 决策单调
  • 赛后总结
  • 其他
  • 2-SAT
  • 最近公共祖先
  • 矩阵乘法
  • 记忆化搜索
  • 网络流
  • Link cut tree
  • 排列组合
  • 树
  • 高斯消元
  • 乘法逆元
  • 容斥原理
  • 调和级数
  • 概率与期望
  • 模线性方程组
  • 莫比乌斯反演
  • 快速傅里叶变换
  • 扩展欧几里德
  • 最大公约数与最小公倍数

近期文章

  • 中山纪念中学 Day21
  • 中山集训8.15 LAST DAY+集训小结
  • GDNOJ – DAY 18
  • 中山8.14
  • 2025暑假中山集训Day20——8.14

近期评论

归档

  • 2025年8月
  • 2025年7月
  • 2025年2月
  • 2025年1月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月

Copyright © 2025 泉州一中信息学Blog.

Powered by PressBook WordPress theme