hdu 4825 Xor Sum(trie+贪心)

本文详细介绍了如何使用trie树和贪心算法解决HDU4825XorSum问题,通过实例讲解了如何在树上寻找与给定值x异或结果最大的节点,提供了一段清晰的C++代码实现。

hdu 4825 Xor Sum(trie+贪心)

刚刚补了前天的CF的D题再做这题感觉轻松了许多。简直一个模子啊。。。跑树上异或x最大值。贪心地让某位的值与x对应位的值不同即可。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <algorithm>
 5 #include <cmath>
 6 #define CLR(a,b) memset((a),(b),sizeof((a)))
 7 using namespace std;
 8 typedef long long ll;
 9 const int N = 32;
10 const int M = 1e5+5;
11 int n, m;
12 struct Trie {
13     int next[2];
14     int v;
15     void init() {
16         v = 0;
17         memset(next, -1, sizeof(next));
18     }
19 }T[N*M*2];
20 int le;
21 void inser(int x) {
22     int p = 0;
23     for(int i = N-1; i >= 0; --i) {
24         int t = (x>>i) & 1;
25         if(T[p].next[t] == -1) {
26             T[le].init();
27             T[p].next[t] = le++;
28         }
29         p = T[p].next[t];
30     }
31     T[p].v = x;
32 }
33 void query(int x) {
34     int i = 0, p = 0;
35     for(int i = N-1; i >= 0; --i) {
36         int t = ((x>>i) & 1);
37         if(T[p].next[t^1] == -1) p = T[p].next[t];
38         else p = T[p].next[t^1];
39     }
40     printf("%d\n", T[p].v);
41 }
42 int main() {
43     int t, i, x;
44     scanf("%d", &t);
45     for(int k = 1; k <= t; ++k) {
46         printf("Case #%d:\n", k);
47         scanf("%d%d", &n, &m);
48         le = 1; T[0].init();
49         for(i = 1; i <= n; ++i) {scanf("%d", &x); inser(x);}
50         while(m--) {
51             scanf("%d", &x);
52             query(x);
53         }
54     }
55     return 0;
56 }
343ms

 

转载于:https://www.cnblogs.com/GraceSkyer/p/7460733.html

【创新未发表!】基于BKA算法优化-BP、HO算法优化-BP、CP算法优化-BP、GOOSE算法优化-BP、NRBO算法优化-BP神经网络回归预测比较研究(Matlab代码)内容概要:本文档聚焦于五种优化算法(A、HO、CP、GOOSE、NRBO)与BP神经网络结合的回归预测性能比较研究,所有内容均基于Matlab代码实现。研究属于创新未发表成果,涵盖机器学习、深度学习、智能优化算法等多个科研方向的应用实例,尤其在时序预测、回归分析等领域。文档还列举了大量相关课题,如微电网多目标优化调度、储能选址定容、轴承故障诊断等,展示了广泛的科研应用场景和技术实现手段。; 适合人群:具备一定Matlab编程基础,从事科研或工程应用的研究人员,尤其是关注智能优化算法与神经网络结合应用的硕士、博士研究生及科研工作者。; 使用场景及目标:①用于科研项目中对比不同优化算法对BP神经网络回归预测性能的影响;②为相关领域如能源调度、故障诊断、负荷预测等提供算法实现参考与代码支持;③辅助学术论文撰写与实验验证。; 阅读建议:此资源以实际Matlab代码为核心,建议读者结合文档中提供的网盘链接获取完整代码资源,并在实践中运行和调试代码,深入理解各算法的实现细节与优化机制。同时建议按目录顺序系统学习,以便构建完整的知识体系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值