【dp+dfs】VK Cup 2012 Round 1-D. Distance in Tree

俄罗斯方块源码教学:图形渲染、状态机与事件循环实战 俄罗斯方块是理解实时系统底层原理的经典载体——它本质是一个轻量级状态机,融合图形渲染、事件循环与碰撞检测等核心机制。从字符终端(ncurses)到GUI界面(tkinter),其跨平台实现过程直观展现帧同步、非阻塞输入、双缓冲防闪烁等关键技术原理;通过解耦状态迁移逻辑,可自然延伸至游戏架构设计、AI决策接入与可测试工程实践。本文聚焦无依赖、可调试、易扩展的纯C与Python单文件实现,覆盖初学者动手门槛与工程师底层能力重建需求,特别适配图形编程入门、嵌入式UI开发及状态驱动系统学习场景。 阅读详情

dp+dfs好题,状态转移写得很赞……dp[i][j中的i表示以第几个点为中心,j长度,综合起来表示以i为中心长度为j的边的总数……

题目

#include<iostream>
#include<vector>
using namespace std;
int k;
__int64 ans,dp[50005][505];
vector<int> v[50005];
void dfs(int x,int y)
{
	int i,j,z;
	dp[x][0]=1;
	for(i=0;i<v[x].size();i++)
	{
		z=v[x][i];
		if(y!=z)
		{
			dfs(z,x);
			for(j=1;j<=k;j++)ans+=dp[x][j-1]*dp[z][k-j];
			for(j=1;j<=k;j++)dp[x][j]+=dp[z][j-1];
		}
	}
}
int main()
{
	//freopen("a.txt","r",stdin);
	int i,n,x,y;
	scanf("%d%d",&n,&k);
	for(i=1;i<=n;i++)v[i].clear();
	for(i=1;i<n;i++)
	{
		scanf("%d%d",&x,&y);
		v[x].push_back(y);
		v[y].push_back(x);
	}
	memset(dp,0,sizeof(dp));
	ans=0;
	dfs(1,0);
	printf("%I64d\n",ans);
	return 0;
}



AltiumDesigner.zip 立即下载

相关推荐

风储VSG-基于虚拟同步发电机的风储并网系统Simulink仿真

内容概要:本文介绍了“Plecs全桥LLC谐振变换器仿真模型”这一技术资源,聚焦于隔离型全桥LLC谐振变换器的建模、仿真与参数设计,涵盖其在电力电子系统中的关键应用,如软启动、闭环控制、变频控制及效率优化等。该模型支持对LLC变换器在不同工作模式下的动态响应与性能表现进行深入研究,适用于探究谐振拓扑结构、磁性元件设计、谐振参数匹配以及先进控制策略的科研与工程实践。同时,文档配套提供了仿真模型、设计报告与计算书等完整资料,强化了其实用性与教学价值。; 适合人群:具备电力电子、自动化或电气工程等相关专业背景,从事电力电子变换器研发、系统仿真与控制算法设计的科研人员、工程师及研究生。; 使用场景及目标:①用于全桥LLC谐振变换器的建模、仿真与动态性能分析;②支持对软启动过程、闭环稳压控制、变频调谐及效率优化等核心技术的研究与教学;③为电力电子电源系统的工程设计、参数优化与控制策略验证提供高精度仿真平台。; 阅读建议:建议结合Plecs或Simulink等仿真工具进行动手实践,重点理解电路拓扑构建、谐振参数计算、控制器设计与系统稳定性分析,并配合文档中的设计报告与计算书,系统掌握从理论到仿真的完整流程。

VK Cup 2012 Round 1 D.Distance in Tree(点分治)

题目链接 大意:给你一棵树,问你树上距离等于x的无序点对个数 点分治模板题,直接做 #include<bits/stdc++.h> #define fi first #define se second #define pb push_back #define mp make_pair #define LL long long #define SZ(X) X.size() #defi...

pubgoso的博客 225

国央企创新负责人如何通过平台实现科技创新资源的系统集成与高效配置?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

【dfs+分治】VK Cup 2012 Round 1-C. Abracadabra

这道题的思路真是太神奇了,在参考某大牛的代码后恍然大悟,对其思维无限膜拜啊……用了分治法,具体思路看代码…… 题目 #include using namespace std; template T Max(T x,T y){return x>y?x:y;} template T Min(T x,T y){return x<y?x:y;} int dfs(int l1,int r1,int

AndRing的专栏 661

反激开关电源变压器设计实战:从理论到绕制的完整流程解析

本文详细解析了反激开关电源变压器的完整设计流程,从核心理论到实战绕制。文章以24W电源为例,手把手讲解如何根据输入输出电压、功率和频率等关键参数,计算匝比、峰值电流、电感量,并完成磁芯选择、匝数确定、气隙计算及线径选取。重点阐述了CCM模式下的设计要点与绕制工艺,旨在帮助工程师设计出稳定高效的反激变压器,避免常见陷阱。

weixin_29305313的博客 684

task5:在本地搭建大模型(ollama 和 LM studio 对比),接入 openclaw

关于大模型,大家千万不要想着在本地部署,根本不可行,没有那个财力。另外大模型迭代快,不可能每周都在下载大模型。再次,还是国外的模型好用,国内的模型真的在 deepresearch 上就有很大问题,你们懂的。所以本篇文章,还是聚焦在探索层面+实操,并不会实战。

这里是 AI 食用指南,持续分享有用的AI 实操和应用! 1971

VK Cup 2012 Round 1 D. Distance in Tree (树形dp)

题目:http://codeforces.com/problemset/problem/161/D 题意:给你一棵树,问你两点之间的距离正好等于k的有多少个 思路:这个题目的内存限制首先大一倍,他有5*1e5个点,k的范围是<=500,首先暴力n^2肯定不行,这个题其实很容易看出是树形dp 首先k的范围只有500,我们可以开一个dp[1e5][500]的dp数组,代表以这个点为上端点的...

weixin_30809173的博客 129

[arcgis插件]在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面

在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面。

坐听风雨 4563

【树形dp统计距离为k的点对】VK Cup 2012 Round 1 D. Distance in Tree

http://codeforces.com/contest/161/problem/D 树形dp,很优美,利用了树的性质和dfs回溯... 注意以防重复,所以要把计数提前到更新操作前 #define N 50005 LL dp[N][505]; vector v[N]; LL ans = 0; int n,k; void dfs(int u,int fa){ int i; d

leolin_的专栏 1178

Julia Ann老司机管理系统

https://content.badgirlsusa.com/Julia_Ann-Sexy_Julia_Ann_Fucks_A_Lil_Elf's_Big_Cock_/Julia-Ann-Naughty-America-%E6%80%A7%E6%84%9F%E7%9A%84%E8%A3%98%E8%8E%89%E5%A9%AD%E5%AE%89%E4%BA%82%E6%90%9E-lil-%E7%B2%BE%E9%9D%88%E7%9A%84%E5%A4%A7%E5%85%AC%E9%9B%9E-2020

www_oracle_com的博客 22万+

第一章 初识SpringBoot

提供大量的自动配置Spring和第三方库,开发者可以根据项目需求选择相关的starters依赖,而无需手动配置大量的Spring配置文件,开箱即用,无需配置XML,无代码生成。Spring Boot与Spring Cloud等框架集成,为构建微服务提供了强大的支持,并通过Spring Cloud实现服务注册、负载均衡、熔断等功能。本质上讲,Spring Boot就是Spring,它做了那些本应我们去做的Spring Bean配置等工作。以上就是一个简单的Spring Boot应用的创建和运行过程。

Calvin的博客 1581

[树形DP]VK Cup 2012 Round 1 D. Distance in Tree

题意: 给出一棵树,然后问任意两点间距离为k的情况有多少种。分析: 显然是DP,但是状态方程如何向呢?一棵树,肯定是先从根节点开始考虑情况,那么就把每个点看做是一课子树,然后dp[i][j] 表示计算到i点时距离为k的情况的种类数。然后扫描该点的子节点,递归,完了之后 ans+=dp[x][j-1]*dp[v][k-j]; 表示到i节点的距离和到子节点中的距离

zylm的专栏 723

Open3D 可视化(1)——简单可视化【2026最新版】

简单可视化,博客长期更新,本文最新更新时间为:2026年5月10日。

点云侠的博客 5686

【搜索+强剪枝】UVA-11882 - Biggest Number

处理得很巧妙的DFS+BFS…… 题目 #include #include #include using namespace std; #define FRE freopen("a.txt","r",stdin); struct node { int x,y; }queue[1000]; int n,m; int Max,flag,tatal; char map[20][20];

AndRing的专栏 2057

2021.07.05【R语言】丨预测lncRNA并绘制venn图

目录摘要环境与方法依赖工具预测工具绘制工具使用命令预测lncRNA统计noncoding_ID绘制Venn图结果展示总结 摘要 接到一个单样品测lncRNA数据的项目,正好拿来练练手,梳理一下lncRNA流程。这里记录预测lncRNA并生成venn图的过程 环境与方法 R version 3.6.3 (2020-02-29) 依赖工具 预测工具 CPC2 CNCI Pfam CPAT 绘制工具 R:VennDiagram 使用命令 预测lncRNA CPC2 #更换env conda activate py

2035

沙猫群优化算法(SCSO)详解:从沙漠生存智慧到全局优化引擎

本文详细介绍了沙猫群优化算法(SCSO),这是一种新型元启发式优化算法,灵感来源于沙猫在沙漠环境中的卓越狩猎行为。SCSO通过模拟沙猫的低频探测能力和精确攻击策略,将优化问题转化为搜索和捕获"猎物"的过程。算法核心包括探索阶段(全局搜索)和开发阶段(局部精细搜索),通过灵敏度范围模型和自适应控制参数实现两者的平衡。SCSO具有参数简单、收敛性能好等优点,适用于解决复杂全局优化问题。

qq_42212808的博客 202

【深搜+模拟】VK Cup 2012 Round 1-E. Polycarpus the Safecracker

CF上的题考的就是思维啊,而这道题就是要用到十分巧妙的处理…… 题意:给定一个素数作为一个正方阵的第一行,而下面几行都要补一个素数进去形成一个对称矩阵,即当前矩阵与转置后的矩阵相等。 如:239                         9001         307                         0002         977

AndRing的专栏 1411

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【记忆化搜索+图论】HDU-2833-WuKong

具体题解 题目 #include using namespace std; template T Max(T x,T y){return x>y?x:y;} template T Min(T x,T y){return x<y?x:y;} #define N 305 #define inf 999999999 int n,dis1[N],dis2[N],dp[N][N],map[N][N]

AndRing的专栏 839

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

PKU-1324-Holedox Moving

一道很好的广搜题,不过我做得很坑爹的说,而且时间,空间都用到了极致,是做愚蠢的做法……悲哀啊…… #include using namespace std; int m,n,l,r[4][2]={-1,0,0,-1,0,1,1,0}; bool vis[21][21][1<<14],map[21][21]; struct T { int x[8],y[8],step; }; T t1,t2

AndRing的专栏 768

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【搜索+强剪枝】PKU-1167-The Buses

在黑书上的很好的一道搜索题,开始时基本没什么思路,代码也是按照大牛题解这里敲出来的…… 题目 #include using namespace std; int bg,ed,Min,temp,sum[60],use[60],first[60]; bool yes(int s,int d) { int i; for(i=s;i<60;i+=d) if(sum[i]<=use[i])r

AndRing的专栏 766

【IDA*+位运算】PKU-1084-Square Destroyer

估价函数设计为这样:一开始把答案置零,从小正方形开始判断,如果有这个正方形就把答案增加1.,然后删掉这四条边。这样得到的值还是比较准的。 然后加上一个非常重要的判定:只要找到一个正方形,就在当前的dfs中枚举组成这个正方形的几根火柴,而不要管其他的火柴棒。理由很简单——这几根火柴棒总得删掉一根。这样做的目的能够剪掉一大票删法相同但是删除顺序不同的“方案”…… 题目 #include us

AndRing的专栏 756

【记忆化搜索】 HDU-4155-The Game of 31

本题是一道博弈题,虽然之前弄过有关博弈方面的算法,但基本都忘了,所以就用记忆搜索水过了…… 思路:开一个八位数组dp[s][a1][a2][a3][a4][a5][a6][d],其中s代表的是31减去之前玩过的卡片加起来的总和的差,a1,a2,a3,a4,a5,a6分别代表1,2,3,4,5,6六个数的张数,d表示当前是谁玩…… #include #include #include usi

AndRing的专栏 630

【IDA*(迭代加深)】PKU-2286||HUD-1667-The Rotation Game

第一次写迭代加深,发觉这货很神气的说……虽然代码都是模仿人家的,不过自己加了一个判断条件,时间立刻减少一半…… 某大牛对于IDA*的解析:所谓迭代加深,就是在深度无上限的情况下,先预估一个深度(尽量小)进行搜索,如果没有找到解,再逐步放大深度搜索。这种方法虽然会导致重复的遍历 某些结点,但是由于搜索的复杂度是呈指数级别增加的,所以对于下一层搜索,前面的工作可以忽略不计,因而不会导致时间上的亏空。

AndRing的专栏 628

【记忆化搜索】PKU-2044-Weather Forecast

经过这题,我发现原来用vector做参数是会超时的,难怪没人这样用来啦…… 题目 #include #include using namespace std; struct T { int a[4]; }; int n,p[370][20],b[5]={1,4,13,16}; vector v1[15],v2[15]; bool hash[10][370][7][7][7][7]; in

AndRing的专栏 625
上一篇: 【模拟】ZOJ-3590 -3+1
下一篇: 【树形dp】ZOJ-3326-Tree of Tree
AndRing
博客等级 码龄15年 5粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值