题意给你个数p,n=2^p;有一棵树有n个节点,告诉你怎么连边;每个点有个权值,每条边也有个权值,权值需要自行分配,[1,2,3..n...2n-1],总共2n-1个权值;你需要选一个节点,使得他到所有其他边或者节点的简单路径的异或最大值最小。思路显然,给你个p,不直接给你n一定是有潜藏的东西的,分析一下,n=2^p,那么n的结构一定是1000000,1后面都是0,那可以推测出最终的答案一定是小于等于n的1.初始节点可以随便选的,但是它的值一定设为n2.处于一个点的连接点与边来说,他们的关系一定是x,x+n,这样他们的异或值一定是n,可以保证答案在0-n之间改变,注意x与x+n的位置设置3.如
题意给你n个节点的树,让你给每个节点进行赋值,并且赋的值需要为正整数;同时当一个节点的值等于所有邻居节点的值的和时,这个点为好点;求出一组赋值情况,满足树的好点个数最大化的同时,所有节点赋值的总和最小;思路1.显然无法存在两个好点相邻存在的情况(除非只有两个节点);2.对于坏点直接赋值为1即可;3.可以树形dp解决,f[x][0/1][0/1],第一维代表以x为根,第二维代表是否为好点,第三维代表是好点的个数/子树节点值的总和代码#includeusingnamespacestd;vectorg[200005];intf[200005][2][2];longlongans[200005];in
题意给你n个节点的树,让你给每个节点进行赋值,并且赋的值需要为正整数;同时当一个节点的值等于所有邻居节点的值的和时,这个点为好点;求出一组赋值情况,满足树的好点个数最大化的同时,所有节点赋值的总和最小;思路1.显然无法存在两个好点相邻存在的情况(除非只有两个节点);2.对于坏点直接赋值为1即可;3.可以树形dp解决,f[x][0/1][0/1],第一维代表以x为根,第二维代表是否为好点,第三维代表是好点的个数/子树节点值的总和代码#includeusingnamespacestd;vectorg[200005];intf[200005][2][2];longlongans[200005];in
treeLinuxtree命令用于以树状图列出目录的内容。执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。语法tree[-aACdDfFgilnNpqstux][-I][-P][目录...]参数说明:--a显示所有文件和目录。--A使用ASNI绘图字符显示树状图而非以ASCII字符组合。--C在文件和目录清单加上色彩,便于区分各种类型。--d显示目录名称而非内容。--D列出文件或目录的更改时间。--f在每个文件或目录之前,显示完整的相对路径名称。--F在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。--g列出文件或目
treeLinuxtree命令用于以树状图列出目录的内容。执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。语法tree[-aACdDfFgilnNpqstux][-I][-P][目录...]参数说明:--a显示所有文件和目录。--A使用ASNI绘图字符显示树状图而非以ASCII字符组合。--C在文件和目录清单加上色彩,便于区分各种类型。--d显示目录名称而非内容。--D列出文件或目录的更改时间。--f在每个文件或目录之前,显示完整的相对路径名称。--F在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。--g列出文件或目
背景项目中用到了vue的element-ui框架,用到了el-tree组件。由于数据量很大,使用了数据懒加载模式,即异步树。异步树采用复选框进行结点选择的时候,没法自动展开,官方文档找了半天也没有找到好的办法!找不到相关的配置,或者方法可以使用。经过调试与阅读elment-ui源码才发现有现成的方法可以进行结点展开。下面就介绍结点展开的实现!1.监听复选框点击事件checkel-tree:props="mulprops":load="loadNode"lazynode-key="id"show-checkboxaccordion@current-change="currentChange":f
背景项目中用到了vue的element-ui框架,用到了el-tree组件。由于数据量很大,使用了数据懒加载模式,即异步树。异步树采用复选框进行结点选择的时候,没法自动展开,官方文档找了半天也没有找到好的办法!找不到相关的配置,或者方法可以使用。经过调试与阅读elment-ui源码才发现有现成的方法可以进行结点展开。下面就介绍结点展开的实现!1.监听复选框点击事件checkel-tree:props="mulprops":load="loadNode"lazynode-key="id"show-checkboxaccordion@current-change="currentChange":f
前言相信大家看过不少讲C#asyncawait的文章,博客园就能搜到很多,但还是有很多C#程序员不明白。如果搞不明白,其实也不影响使用。但有人就会疑惑,为什么要用异步?我感觉它更慢了,跟同步有啥区别?有的人研究深入,比如去研究状态机,可能会明白其中的原理。但深入研究的毕竟少数。有的人写一些示例,有的专业有的不是很专业,但看的人仍有不明白的。所以我写了一个示例,尽量简单,让大家形象地理解一下C#的异步。就是一个示例,没有什么理论讲解,大家自己测试自己思考。如果大家看理论讲解,就能明白,我也就没必要写这个示例了。示例的测试步骤先直接测试,看结果,下面再放代码点击VS2022的启动按钮,启动程序,它
前言相信大家看过不少讲C#asyncawait的文章,博客园就能搜到很多,但还是有很多C#程序员不明白。如果搞不明白,其实也不影响使用。但有人就会疑惑,为什么要用异步?我感觉它更慢了,跟同步有啥区别?有的人研究深入,比如去研究状态机,可能会明白其中的原理。但深入研究的毕竟少数。有的人写一些示例,有的专业有的不是很专业,但看的人仍有不明白的。所以我写了一个示例,尽量简单,让大家形象地理解一下C#的异步。就是一个示例,没有什么理论讲解,大家自己测试自己思考。如果大家看理论讲解,就能明白,我也就没必要写这个示例了。示例的测试步骤先直接测试,看结果,下面再放代码点击VS2022的启动按钮,启动程序,它
关注公众号,一起交流,微信搜一搜:LiOnTalKING JavaScriptPromisePromise是一个ECMAScript6提供的类,目的是更加优雅地书写复杂的异步任务。如何创建一个Promise对象?newPromise(function(resolve,reject){//要做的事情...});Promise的使用:newPromise(function(resolve,reject){console.log(1111);resolve(2222);}).then(function(value){console.log(value);return3333;}).then(fun