首页 > 其他分享 >F. 0, 1, 2, Tree!

F. 0, 1, 2, Tree!

时间:2024-03-29 14:12:56浏览次数:17  
标签:一层 int ll Tree 接口 long 节点

原题链接

题解

1.模拟+贪心,我们一个一个点添加,一层一层遍历,每个节点对当前层的接口数的贡献是-1
如果是节点2,对下一层接口数贡献为2,节点1贡献为1
如果当前层接口数用完了就下一层,初始值层0设为1

在时间复杂度合理的情况下无所不用其极

code

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll tree[200005]={0};
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        ll a,b,c;
        cin>>a>>b>>c;
        if(a*2+b+1!=a+b+c)
        {
            puts("-1");
            continue;
        }

        ll x=a,y=b;
        ll height=0;
        tree[0]=1;
        for(int i=1;i<=a+b+c;i++)
        {
            if(!tree[height]) height++;
            tree[height]--;
            if(x)
            {
                x--;
                tree[height+1]+=2;
            }
            else
            {
                y--;
                tree[height+1]++;
            }
        }
        cout<<height<<endl;
        memset(tree,0,sizeof tree);
    }
    return 0;
}

标签:一层,int,ll,Tree,接口,long,节点
From: https://www.cnblogs.com/pure4knowledge/p/18103736

相关文章

  • 【容器源码篇】Set容器(HashSet,LinkedHashSet,TreeSet的特点)
    文章目录⭐容器继承关系......
  • Ant Design Vue Tree 选中子节点同时半选中父级节点
    需要实现的效果:1、子菜单如果不是全部选中,一级菜单半选。2、子菜单全选,一级菜单选中。3、一级菜单选择,二级菜单全选。4、没有二级菜单,则只控制一级菜单。主要用到的属性是checked和halfCheckedKeys,通过手动控制那些菜单选中,那些半选中实现功能。**页面截图:**完整代码如......
  • 【Bitmap Index】B-Tree索引与Bitmap位图索引的锁代价比较研究
    通过以下实验,来验证Bitmap位图索引较之普通的B-Tree索引锁的“高昂代价”。位图索引会带来“位图段级锁”,实际使用过程一定要充分了解不同索引带来的锁代价情况。1.为比较区别,创建两种索引类型的测试表1)在表t_bitmap上创建位图索引SEC@ora11g>createtablet_bitmap(idnumber(1......
  • 58.容器_TreeMap容器的使用
    TreeMap容器的使用TreeMap和HashMap同样实现了Map接口,所以,对于API的用法来说是没有区别的。HashMap效率高于TreeMap;TreeMap是可以对键进行排序的一种容器,在需要对键排序时可选用TreeMap。TreeMap底层是基于红黑树实现的。在使用TreeMap时需要给定排序规则:元素自身实现比较规......
  • [669] Trim a Binary Search Tree
    极其少有的我决定自己来写一篇。我就是个脑残真的,我还在想要不要一个个pop,结果忘了这是一个BST……妈个鸡附上我的傻逼代码/**@lcapp=leetcode.cnid=669lang=cpp**[669]TrimaBinarySearchTree*/#include"General.h"structTreeNode{intval;Tr......
  • 树 Tree
    2024.3.21芝士wa参考视频:数据结构-树“种一棵树,最好的时间是十年前,其次是现在”树的定义树是由n(n≥0)个结点组成的有限集合。如果n=0,称为空树;如果n>0,则有一个特定的称之为根(root)的结点,它只有直接后继,但没有直接前驱;除根以外的其他结点划分为m(m≥0)个......
  • 我什么时候应该使用TreeMap 而不是 PriorityQueue?反之亦然?
    引子之前周赛(第390场周赛记录-快手)时遇到一题(题干描述见下图,实现代码见周赛记录),需要保持容器元素的动态有序(即随着插入删除操作后列表始终是有序的)。尝试过很多数据结构或方案,如列表存储然后手动调用Arrays.sort()进行排序、使用优先队列实现大/小根堆的方式,但无一例外全部超时......
  • TreeMap从添加第二个元素开始,需要进行排序,原始类继承Comparable<Student>接口实现comp
    重写compareTo方法,关于o的理解@OverridepublicintcompareTo(Studento){//关于o,是红黑树中从第二个开始进入的元素,需//要和已存在的元素比较,该o是在第二个add//调用时,传入这里的Student对象。//根据题设,先用年龄排序in......
  • LeetCode 834. Sum of Distances in Tree
    原题链接在这里:https://leetcode.com/problems/sum-of-distances-in-tree/description/题目:Thereisanundirectedconnectedtreewith n nodeslabeledfrom 0 to n-1 and n-1 edges.Youaregiventheinteger n andthearray edges where edges[i]=[a......
  • Tree Cutting
    这道题目的代码的写法非常新,可以学习首先我们从\(x=1\)开始想起,此时显然一条边都不用切然后是\(x=2\),我们发现所有叶子节点都不能分离开来了,我们把所有叶子节点与其父亲节点弄成一个连通块,显然这里切掉是最优的,在考虑剩下的树,仍然对叶子节点实施这个操作,直到最后没有剩下的树为......