首页 > 其他分享 >D. World is Mine

D. World is Mine

时间:2024-07-02 15:35:08浏览次数:15  
标签:cin int Mine alice 回合 蛋糕 World bob

原题链接

题解

1.alice的策略一定是从小到大一个一个拿
2.为了让alice拿不到某特定值的蛋糕,bob需要在alice拿它之前把它拿完
3.在最优策略中,bob一定可以从小拿到大
4.设此时bob要拿完第 \(i\) 类蛋糕,该类蛋糕个数为 \(k\) 则拿完这个蛋糕bob还有 \(i-k-1\) 个回合可以用,所以从前面 \([1,i-k-1]\) 个回合里看看能挑完几个
5.每挑完一类蛋糕,挑后面蛋糕能用的回合就少一

code

#include<bits/stdc++.h>
using namespace std;
int rounds[5005]={0};
int dp[5005]={0};
int main()
{
    ios::sync_with_stdio(false);cout.tie(0);cin.tie(0);
    int t;
    cin>>t;

    while(t--)
    {
        int n;
        cin>>n;

        map<int,int> q;
        for(int i=1;i<=n;i++)
        {
            int x;
            cin>>x;
            q[x]++;
        }

        int cnt=0;
        for(auto it:q)
        {
            rounds[++cnt]=it.second;
        }

        int ans=0;
        for(int i=1;i<=cnt;i++)
        {
            if(rounds[i]<i)
            {
                int hh=rounds[i];
                //printf("di %d ge, it take %d rounds to clean\n",i,hh);
                for(int j=i-hh-1;j>=0;j--)
                {
                    if((i-dp[j]-1)<hh+j) continue;
                    dp[j+hh]=max(dp[j+hh],dp[j]+1);
                    ans=max(ans,dp[j+hh]);
                }
            }
        }


        for(int i=1;i<=n;i++)
        {
            //printf("huihe:%d  nadiao:%d\n",i,dp[i]);
            rounds[i]=0;
            dp[i]=0;
        }
        cout<<q.size()-ans<<'\n';
    }
    return 0;
}

标签:cin,int,Mine,alice,回合,蛋糕,World,bob
From: https://www.cnblogs.com/pure4knowledge/p/18279935

相关文章

  • AI 大模型企业应用实战(07)-LangChain的Hello World项目
    pipinstall--upgradelangchain==0.0.279-ihttps://pypi.org/simple1创建一个LLM自有算力平台+开源大模型(需要有庞大的GPU资源)企业自己训练数据第三方大模型API(openai/百度文心/阿里通义千问...)数据无所谓让LLM给孩子起具有中国特色的名字。在LangChain中最基本的功......
  • [题解]CF666B World Tour
    CSP-2022S2T1弱化版。思路首先因为边权均为\(1\),所以我们可以在\(\Theta(n^2)\)的复杂度用BFS求解出任意两点\(i,j\)的最短距离\(d_{i,j}\)(如果\(i\)不能到达\(j\),则令\(d_{i,j}=-1\))。有一个贪心的结论,就是使每一条\(A\toB,B\toC,C\toD\)的路径长度......
  • HarmonyOS应用开发——Hello World
    下载HUAWEIDevEcoStudio:https://developer.harmonyos.com/cn/develop/deveco-studio/#download   同意,进入配置页面:  配置下载源以及本地存放路径,包括nodejs和ohpm:   配置鸿蒙SDK路径:   接受协议:  确认无误后,点击下一步,开始自动下载有......
  • linux重启后SSH无法启动,报/var/empty/sshd must be owned by root and not group or w
    问题:Linux上的SSH无法启动,执行/usr/sbin/sshd报 /var/empty/sshdmustbeownedbyrootandnotgrouporworld-writable。解决办法:查看发现这个目录的属主不是root,所以启动ssh报错#ls-ld/var/empty/sshd/  d——x——x——x2meifuroot1024Feb192024/var/emp......
  • World Map Globe Edition 2
    只需点击几下,WorldPoliticalMap-GlobeEdition2就会在场景添加一个美丽且交互式的3D世界地图。将地球预制件拖动到场景中并自定义外观。完整的资产,具有强大的可视化功能、示例和丰富的API,适用于构建VR、桌面和移动游戏和应用程序。主要功能:-在不访问互联网的情况下,按......
  • World Tour Finals 2022 Day2 E: Adjacent Xor Game
    考虑从高到低位做,不断贪心的一个过程。即假设把当前所有数\(a_i\)看成\(\lfloor\frac{a_i}{2^d}\rfloor\),有当前最优答案\(ans_d\);现在把所有数看成\(\lfloor\frac{a_i}{2^{d-1}}\rfloor\),推出下一步的答案\(ans_{d-1}\)。假设\(/2^d\)时,每一步xor完的序列是\(a_1......
  • 强大的网页数据库管理工具Adminer
    老苏折腾过的项目,数据库主要是MySQL,其次是MongoDB、PostgreSQL和SQLite,最近还用到了Elasticsearch,但是数据库管理软件phpMyAdmin只能管理MySQL,老苏一直在找一个全能的数据库管理器,似乎Adminer可以满足要求。什么是Adminer?Adminer(原phpMinAdmin)是一个用PHP编......
  • FastAPI快速入门1 Hello World
    1HelloWorld1.1HelloWorldch01/main.pyfromfastapiimportFastAPI,APIRouter#1app=FastAPI(title="RecipeAPI",openapi_url="/openapi.json")#2api_router=APIRouter()#3@api_router.get("/",status_code......
  • 【python】用panda3d实现简易版《Minecraft》
    1.下載panda3d等等     panda3d是python的一个第三方库,在Windows的cmd下输入即可下載:pipinstallpanda3d     另外还用了 PIL,Pmw,ttkbootstrap這些第三方库,下載方式同上。。。2.方块模型     对于建模小白来说,blender有亿点难!! (资源放......
  • 安装MySQL数据库时遇到sample Databases,select databases that should be created:有
    SakilaDatabase:Sakila是一个经典的示例数据库,设计用于模拟电影租赁服务的业务流程。Sakila数据库包含电影、顾客、租赁、支付等表,可以用于练习SQL查询和了解数据库的关系模型。如果你想练习处理类似于电影租赁等实际业务场景的查询和数据操作,选择创建Sakila数据库是一......