【JZOJ 5500】【清华集训2017模拟12.10】营养餐

本文介绍了一种基于树形结构的博弈游戏算法实现。在游戏中,玩家轮流从树的不同节点摘取水果,目标是让对手无法进行有效操作。通过将问题转化为差分形式,并利用异或运算解决奇数层节点的问题,最终确定游戏胜负。

Description

JM 是 DY 的好朋友。为了感谢 JM 多年来对自己的关心,DY 决定请他吃一顿水果营养餐.
DY 有一棵有 n 个结点的树,结点 1 为根。树上每一个结点都长着许多水果,其中,结点 i 上有 ai 个水果,每个水果重 bi .
水果虽然好吃,但是这棵树非常脆弱! 一旦某结点的子结点上的水果总重量过大,树枝就会承受不住压力而断裂! 所以,随时需要保持任意一个结点 i:

ai<=cChild(i)acbc

(数据保证初始局面满足该条件).
JM 说, 谢谢你的这些水果, 不过我的内心毫无波动, 甚至还有点想博弈. 我们轮流来操作: 选择一个结点, 摘走若干个水果, 不可以不摘. 不可操作者输.
DY 说, 这毫无意义,我们都足够聪明,这个游戏一旦确定谁为先手,结果也确定了.
然而, 在前排吃瓜的你并不知道游戏的结果,所以,你得编写程序来知道谁会赢.

Solution

显然可以把题目差分,每次去多少个变成每次在父亲上加上多少个,也就是把这么多移到父亲上,
显然b=0的对父亲没影响,断开,
剩下的就是一个阶梯问题了,直接异或奇数层即可,

Code

#include <cstdio>
#include <algorithm>
#include <map>
#define fo(i,a,b) for(int i=a;i<=b;++i)
#define fod(i,a,b) for(int i=a;i>=b;--i)
#define efo(i,q) for(int i=A[q];i;i=B[i][0])
#define min(q,w) ((q)>(w)?(w):(q))
#define max(q,w) ((q)<(w)?(w):(q))
using namespace std;
const int N=50500;
int read(int &n)
{
    char ch=' ';int q=0,w=1;
    for(;(ch!='-')&&((ch<'0')||(ch>'9'));ch=getchar());
    if(ch=='-')w=-1,ch=getchar();
    for(;ch>='0' && ch<='9';ch=getchar())q=q*10+ch-48;n=q*w;return n;
}
int m,n,ans;
int a[N],b[N];
int B[2*N][2],A[N],B0;
void link(int q,int w)
{
    B[++B0][0]=A[q];A[q]=B0,B[B0][1]=w;
    B[++B0][0]=A[w];A[w]=B0,B[B0][1]=q;
}
void dfs(int q,int c,int fa)
{
    efo(i,q)if(B[i][1]!=fa)a[q]-=a[B[i][1]]*b[B[i][1]];
    if(!b[q])c=1;
    if(c&1)ans=ans^a[q];
    efo(i,q)if(B[i][1]!=fa)dfs(B[i][1],c+1,q);
}
int main()
{
    freopen("meal.in","r",stdin);
    freopen("meal.out","w",stdout);
    int q,w,_;
    for(read(_);_;--_)
    {
        read(n);
        fo(i,1,n)read(a[i]);
        fo(i,1,n)read(b[i]),A[i]=0;B0=0;
        fo(i,1,n-1)read(q),read(w),link(q,w);
        ans=0;
        dfs(1,1,0);
        if(ans)printf("YES\n");
        else printf("NO\n");
    }
    return 0;
}
Nano-ESG数据资源库的构建基于2023年初至2024年秋季期间采集的逾84万条新闻文本,从中系统提炼出企业环境、社会及治理维度的信息。其构建流程首先依据特定术语在德语与英语新闻平台上检索,初步锁定与德国DAX 40成分股企业相关联的报道。随后借助嵌入技术对文本段落执行去重操作,以降低内容冗余。继而采用GLiNER这一跨语言零样本实体识别系统,排除与目标企业无关的文档。在此基础上,通过GPT-3.5与GPT-4o等大规模语言模型对文本进行双重筛选:一方面判定其与ESG议题的相关性,另一方面生成简明的内容概要。最终环节由GPT-4o模型完成,它对每篇文献进行ESG情感倾向(正面、中性或负面)的判定,并标注所涉及的ESG具体维度,从而形成具备时序特征的ESG情感与维度标注数据集。 该数据集适用于多类企业可持续性研究,例如ESG情感趋势分析、ESG维度细分类别研究,以及企业可持续性事件的时序演变追踪。研究者可利用数据集内提供的新闻摘要、情感标签与维度分类,深入考察企业在不同时期的环境、社会及治理表现。此外,借助Bertopic等主题建模方法,能够从数据中识别出与企业相关的核心ESG议题,并观察这些议题随时间的演进轨迹。该资源以其开放获取特性与连续的时间覆盖,为探究企业可持续性表现的动态变化提供了系统化的数据基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值