Unplanned Queries(猜)

本文探讨了一种算法问题,即判断是否存在一棵树,使得所有边被走过偶数次,并给出了具体的实现代码。该问题通过计算每条路径经过根节点的次数来简化问题,并最终确定所有路径是否满足条件。

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

又是猜的..但是看了题解,有一些地方还是可以的.
是否存在一棵树,满足所有边都被走过偶数次.
给出所有需要走的路的头尾.
这题关键在于,树上两点想要走通,一种是不走根,直接互联(当然有的只能走根),第二种是走根(当然在很多时候这是浪费的),我们只关心奇偶性的情况下,这两者等价.
那么好了,我们可以把所有路线,都变为过根的次数.
我这里用的是以1点为根,树为一条链的直接计算,其实是一样的.

#include <iostream>
#include <queue>
#include <vector>
using namespace std;
#define debug(x) std::cerr << #x << " = " << (x) << std::endl
typedef long long LL;
const int MAXN = 1e5+17;
int a[MAXN],b[MAXN];
int main(int argc ,char const *argv[])
{
    #ifdef noob
    freopen("Input.txt","r",stdin);freopen("Output.txt","w",stdout);
    #endif
    int n,m;
    cin>>n>>m;
    for (int i = 0; i < m; ++i)
    {
        int u,v;
        cin>>u>>v;
        u--;v--;
        a[u]++,a[v]--;
    }
    int now = 0;
    for (int i = 0; i < n; ++i)
    {
        now+=a[i];
        b[i]+=now;
    }
    bool can = true;
    for (int i = 0; i < n-1; ++i)
    {
        if(b[i]&1) can = false;
    }
    if(can) cout<<"YES"<<endl;
    else cout<<"NO"<<endl;
    return 0;        

}
根据下面的sql语句来创建一个实体类: create table hon_asset_depreciation_biao ( id int auto_increment comment '唯一标识' primary key, org_code varchar(255) null comment '公司代码', asset_number varchar(255) not null comment '主要资产编号', asset_sub_number varchar(255) null comment '资产子编号', fiscal_year int null comment '会计年度', actual_depreciation_range varchar(255) null comment '实际折旧范围', last_depreciation_period varchar(255) null comment '上次折旧的周期', accumulated_acquisition_cost decimal(19, 4) null comment '累积购置和生产费用', accumulated_normal_depreciation decimal(19, 4) null comment '累计正常折旧', accumulated_special_depreciation decimal(19, 4) null comment '累计特殊折旧', accumulated_unplanned_depreciation decimal(19, 4) null comment '累积计划外折旧', effective_end_date date null comment '有效日期结束', effective_start_date date null comment '有效期起始日期', ERNAM varchar(255) null comment '创建对象的人员名称', special_depreciation_start_date date null comment '特别折旧的开始日期', depreciation_code varchar(255) null comment '折旧码', is_delete varchar(1) default '1' null comment '0 未知 1正常 2删除', created_time timestamp default CURRENT_TIMESTAMP null comment '创建时间', created_by varchar(50) null comment '创建者', updated_time timestamp null on update CURRENT_TIMESTAMP comment '更新时间', updated_by varchar(50) null comment '更新者', remake varchar(255) null comment '备注', field1 varchar(255) null comment '备用字段1', field2 varchar(255) null comment '备用字段2', field3 varchar(255) null comment '备用字段3', field4 varchar(255) null comment '备用字段4', field5 varchar(255) null comment '备用字段5' ) comment '资产折旧表';
04-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值