ZOJ 3649 Social Net

全国各城市POI数据2012年-2023-最新整理zip 全国各城市POI数据2012年-2023-最新整理zip 新增2024全国POI矢量数据 数据时间2024年5月 shp格式 36万个数据 数据来源OpenStreetMap 一、全国范围2012、2014、2016、2018、2020、2022年和2023年常用POI数据集 数据是全国范围2012、2014、2016、2018、2020、2022年、2023年常用POI数据集,主要包括:包括餐饮、风景名胜、公共设施、公司企业、停车场、收费站、厕所、服务器等等。 【资源信息】 中文名称: 全国范围POI数据集 显示时间: 2012、2014、2016、2018、2020、2022、2023年 数据来源: 高德地图、百度地图、网络搜集等 数据格式:矢量点数据(shp) 数据坐标:WGS_1984 二、全国各城市POI兴趣点数据 数据年份:2012-2023年 数据范围:每年样本量6000w-9000w POI类别:150+POI兴趣点类别 原始来源:2012-2017年来源于百度,2018-2022来源于高德 数据指标:POI名称,经度,纬度,省份,城市,区域(各年指标有所差别) 立即下载

前言

这题鸽了有一段时间了,今天上午自己想了想,冒出了一个不错的思路,而且似乎和之前听做过的同学讲的不太一样。然后就开始敲了,编译完马上过样例。交上去WA,TLE,各种错误接连而至。一直到刚刚,才结束了半天多的Debug,发现是快读打挂了…(逃…)
这是一个极其惨痛的教训。

题意

给你有N个节点的树,每个点都有一个权值。有Q个询问,每次询问从一个点走到另一个点,问你走过节点的序列c1,c2,...ckc1,c2,...ck中最大的ci−cjci−cj,且ci≥cj,j≤ici≥cj,j≤i。

约定

2≤N≤3×104,1≤q≤3×1042≤N≤3×104,1≤q≤3×104

分析

PART 1 转化

其实就是求一个序列中两个数一前一后的最大差值,注意到这个差值并非简单的绝对值,它是有顺序性的,大的必须在后面。
我们先不考虑树上的情况。对于一个线性的序列CC,我们考虑它的差分序列D,则任意两数之差就是他们之间的差值求和。这样,我们对序列CC要求的这个最大差值就转化成了序列D上的最大连续子段和。
这样,对于每次询问Q(u,v)Q(u,v),我们可以从uu走到lac(u,v)再走到vv,并求出这段序列的最大连续子段和。

PART 2 提高效率

我们发现上面的查询每次都是O(N)的,那么整个算法就变成了O(QN)O(QN)的,这样显然会超时。我们需要提高查询的效率。
平时遇到树上这种查询的问题,我们一般用倍增法,压缩信息,达到降低复杂度的目的。那么对于这题是否可行呢?比如我们维护一个倍增数组DP[u][i]DP[u][i]表示从uu开始到u的第2i2i级父亲的最大连续子段和,但是我们会发现,我们合并的时候,这个最大连续子段和可能是独立在uu到它的第2i−1级父亲或者是它的第2i−12i−1级父亲到它的第2i2i级父亲里的,也可能是这两段中的接在一起的,但是我们只维护这一个数组却丢失了这些信息。并且,如果uu和v不在同一条链上,那么我们走到lca(u,v)lca(u,v)还会拐一个弯,当我们从lca(u,v)lca(u,v)走到vv的时候,方向和我们的倍增数组反过来了。
因此,看起来这个做法不可做。
怎么可能呢?其实我们刚刚考虑合并的时候,已经找到了合并的正确方法。
我们还是来考虑一个线性序列C=c1,c2,...,cn,我们假设已经求得了c1,c2,...,cic1,c2,...,ci以及ci+1,ci+2,...cnci+1,ci+2,...cn这两个子段的最大连续子段和,记这两个子序列为C1,C2C1,C2。对于每个序列我们维护四个信息:

  • sumCsumC:序列中所有数的和
  • lsumClsumC:以序列第一数为起始的最大连续子段和
  • rsumCrsumC:以序列最后一个数为结尾的最大连续子段和
  • MaxSumCMaxSumC:序列中的最大连续子段和

则我们可以得出:

  • sumC=sumC1+sumC2sumC=sumC1+sumC2
  • lsumC=max{lsumC1,sumC1+lsumC2}lsumC=max{lsumC1,sumC1+lsumC2}
  • rsumC=max{rsumC2,sumC2+rsumC1}rsumC=max{rsumC2,sumC2+rsumC1}
  • MaxSumC=max{MaxSumC1,MaxSumC2,rsumC1+lsumC2}MaxSumC=max{MaxSumC1,MaxSumC2,rsumC1+lsumC2}

这些式子很容易就能理解。
那么对于树上倍增的做法也是类似,只是情况会更多一些。转移的式子很好推出,这里就不多展开了。并且注意,当从lca(u,v)lca(u,v)走到vv的时候,方向是反的,因此我们维护这个MaxSum的时候还要将我们对点和点差分得到的边权正负反一反即可。

参考程序

// vjudge 241954 I
#include <cstdio>
#include <cstring>
#include <algorithm>
const int MAXN = 30005;
const int Lg_N = 20;
const int MAXM = 50005;

struct Edge {
    int to, next;
} E[MAXN << 1];

int N, B[MAXN], M, Q, last[MAXN], tote, dep[MAXN], F[MAXN][Lg_N];

namespace MAX_Spanning_tree {
    struct Relation {
        int x, y, ai;
        bool operator<(const Relation & r) const {
            return ai > r.ai;
        }
    } R[MAXM];
    int fa[MAXN];
    inline int find(int x) { return fa[x] == x ? x : fa[x] = find(fa[x]); }
    int Kruskal();
}
// something wrong with this
// 这是莫名打挂的一个快读,就是因为这个东西调了一天,但是问题还没有找出来,不删去,放作警示
/* namespace FastIO {
    template <typename T>
    inline int read(T & x) {
        x = 0; register char ch = getchar();
        for (; ch != EOF && (ch < '0' || ch > '9'); ch = getchar());
        if (ch == EOF) return -1;
        for (; ch >= '0' && ch <= '9'; x = (x << 3) + (x << 1) + (ch ^ '0'), ch = getchar());
    }

    template <typename T>
    inline void write(T x) {
        if (!x) return (void)(putchar('0'));
        register int arr[20], len = 0;
        for (; x; arr[len++] = x % 10, x /= 10);
        while (len) putchar(arr[--len] ^ '0');
    }

    template <typename T>
    inline void writeln(T x) {
        write(x), putchar('\n');
    }
} */
inline void add_edge(int u, int v) {
    E[++tote].to = v, E[tote].next = last[u], last[u] = tote;
    E[++tote].to = u, E[tote].next = last[v], last[v] = tote;
}
void solve();
void dfs(int u);
int query(int u, int v);

int main() {
    while (scanf("%d", &N) == 1) solve();
    return 0;
}

void solve() {
    int i;
    for (i = 1; i <= N; i++) scanf("%d", &B[i]);
    scanf("%d", &M);
    {
        using MAX_Spanning_tree::R;
        for (i = 0; i < M; i++) scanf("%d%d%d", &R[i].x, &R[i].y, &R[i].ai);
    }
    printf("%d\n", MAX_Spanning_tree::Kruskal());   // 先要求一个最大生成树
    memset(F, 0, sizeof(F));
    dep[1] = 0, dfs(1);
    scanf("%d", &Q);
    int x, y;
    for (i = 0; i < Q; i++) {
        scanf("%d%d", &x, &y);
        printf("%d\n", query(x, y));
    }
}

namespace MAX_Spanning_tree {
    int Kruskal() {
        int i;
        tote = 0;
        memset(last, 0, sizeof(last));
        for (i = 1; i <= N; i++) fa[i] = i;
        std::sort(R, R + M);
        int cnt = 0, N1 = N - 1, fa1, fa2;
        int res = 0;
        for (i = 0; i < M; i++) {
            fa1 = find(R[i].x), fa2 = find(R[i].y);
            if (fa1 != fa2) {
                fa[fa1] = fa2;
                add_edge(R[i].x, R[i].y);
                res += R[i].ai;
                if (++cnt == N1) break;
            }
        }
        return res;
    }
}

int Al_sum[MAXN][Lg_N], Max_sum[MAXN][Lg_N][2][2], DP[MAXN][Lg_N][2];

void dfs(int u) {
    using std::max;
    int i, v;
    for (i = 1; i < Lg_N && F[u][i - 1]; i++)
        F[u][i] = F[F[u][i - 1]][i - 1],
        Al_sum[u][i] = Al_sum[u][i - 1] + Al_sum[F[u][i - 1]][i - 1],
        Max_sum[u][i][0][0] = max(Al_sum[u][i], max(Max_sum[u][i - 1][0][0], Al_sum[u][i - 1] + Max_sum[F[u][i - 1]][i - 1][0][0])),
        Max_sum[u][i][0][1] = max(Al_sum[u][i], max(Max_sum[u][i - 1][0][1] + Al_sum[F[u][i - 1]][i - 1], Max_sum[F[u][i - 1]][i - 1][0][1])),
        Max_sum[u][i][1][0] = max(-Al_sum[u][i], max(Max_sum[u][i - 1][1][0], Max_sum[F[u][i - 1]][i - 1][1][0] - Al_sum[u][i - 1])),
        Max_sum[u][i][1][1] = max(-Al_sum[u][i], max(Max_sum[u][i - 1][1][1] - Al_sum[F[u][i - 1]][i - 1], Max_sum[F[u][i - 1]][i - 1][1][1])),
        DP[u][i][0] = max(max(DP[u][i - 1][0], DP[F[u][i - 1]][i - 1][0]), Max_sum[u][i - 1][0][1] + Max_sum[F[u][i - 1]][i - 1][0][0]),
        DP[u][i][1] = max(max(DP[u][i - 1][1], DP[F[u][i - 1]][i - 1][1]), Max_sum[u][i - 1][1][1] + Max_sum[F[u][i - 1]][i - 1][1][0]);
    for (i = last[u]; i; i = E[i].next)
        if (E[i].to != F[u][0]) {
            dep[v = E[i].to] = dep[u] + 1, F[v][0] = u, 
            DP[v][0][0] = Max_sum[v][0][0][0] = Max_sum[v][0][0][1] = Al_sum[v][0] = B[u] - B[v],
            DP[v][0][1] = Max_sum[v][0][1][0] = Max_sum[v][0][1][1] = -Al_sum[v][0];
            dfs(v = E[i].to);
        }
}

int query(int u, int v) {
    using std::max;
    int i, delta, res = 0, max1 = 0, max2 = 0;
    if (dep[u] > dep[v]) {
        for (i = 0, delta = dep[u] - dep[v]; i < Lg_N && 1 << i <= delta; i++)
            if (delta >> i & 1) {   // 询问时维护答案,类似维护倍增数组,不过需要记录的信息少一些
                res = max(max(res, DP[u][i][0]), max1 + Max_sum[u][i][0][0]);
                max1 = max(Max_sum[u][i][0][1], Al_sum[u][i] + max1);
                u = F[u][i];
            }
    }
    else {
        for (i = 0, delta = dep[v] - dep[u]; i < Lg_N && 1 << i <= delta; i++)
            if (delta >> i & 1) {
                res = max(max(res, DP[v][i][1]), max2 + Max_sum[v][i][1][0]);
                max2 = max(Max_sum[v][i][1][1], max2 - Al_sum[v][i]);
                v = F[v][i];
            }
    }
    if (u == v) return max(res, max1 + max2);
    for (i = Lg_N - 1; i >= 0; i--)
        if (F[u][i] != F[v][i])
            res = max(max(res, max(DP[u][i][0], DP[v][i][1])), max(max1 + Max_sum[u][i][0][0], max2 + Max_sum[v][i][1][0])),
            max1 = max(Max_sum[u][i][0][1], max1 + Al_sum[u][i]),
            max2 = max(Max_sum[v][i][1][1], max2 - Al_sum[v][i]),
            u = F[u][i], v = F[v][i];
    res = max(max(res, max(DP[u][0][0], DP[v][0][1])), max(max1 + Max_sum[u][0][0][0], max2 + Max_sum[v][0][1][0])),
    max1 = max(Max_sum[u][0][0][1], max1 + Al_sum[u][0]),
    max2 = max(Max_sum[v][0][1][1], max2 - Al_sum[v][0]);
    return max(res, max1 + max2);
}

总结

这道题目,其实分析起来思维难度不大,代码认认真真仔细码,也不需要调太久。就是这个快读,嗯…我也不知道为什么,慎用!慎用!

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现) 内容概要:本文围绕城市空中交通环境下多无人机协同路径规划问题展开深入研究,重点探讨了在包含建筑物、禁飞区、动态威胁等复杂约束条件下,如何利用仿生优化算法(如布谷鲶鱼优化算法CCO、灰雁优化算法GGO、田忌赛马优化算法THRO)实现安全、高效的多无人机路径规划。文章提出了一种分层规划策略,融合全局路径规划与局部动态避障机制,构建了综合考虑路径长度、威胁暴露度、高度变化及地形碰撞风险的多目标优化模型。通过Matlab仿真平台对多种算法进行对比实验,系统评估了各算法在路径安全性、收敛速度、优化性能和鲁棒性方面的表现,并深入分析了现有方法的局限性,对未来研究方向如动态环境适应、通信受限下的分布式协同等进行了展望。; 适合人群:具备一定编程基础,熟悉Matlab/Simulink仿真环境,从事无人机系统设计、智能交通、自动化控制、路径规划算法研究等相关领域的科研人员及高校研究生。; 使用场景及目标:①应用于城市空中交通系统中多无人机的协同任务执行与动态避障;②为复杂威胁环境下多智能体系统的路径规划提供先进算法支持与仿真验证框架;③辅助研究人员深入理解并复现仿生优化算法在高维、多约束路径规划问题中的具体实现与性能差异。; 阅读建议:此资源以Matlab代码实现为核心,紧密结合理论建模与仿真实验,建议读者在学习过程中重点关注算法的设计原理、参数调优策略及仿真结果的可视化分析,结合文中提供的实验数据进行横向对比,以深刻把握不同仿生算法的搜索机制、适用场景及其在实际工程应用中的潜力与挑战。 立即下载

相关推荐

仿真+课设Multisim直流可调稳压电源(0-15V)仿真设计基于LM317+LM337【仿真+课程报告】

内容概要:本文详细介绍了一种基于LM317(正压调节)和LM337(负压调节)芯片的Multisim直流可调稳压电源仿真设计方案,输出电压范围为0-15V,具备完整的电路仿真模型与课程设计报告。设计涵盖线性稳压电源的核心原理,包括电压调节机制、元件参数配置、双极性电源构建及仿真测试流程,突出理论与实践结合。文档还附带丰富的扩展资源,如三相PWM整流器、函数信号发生器等仿真项目,并提供百度网盘链接用于获取全套资料,适用于电子类课程设计与自主学习。整体内容系统性强,注重仿真操作指导与工程实践能力培养。; 适合人群:电子信息工程、自动化、电气工程及其相关专业的本科生、专科生,以及正在进行模拟电子技术课程设计或毕业设计的学生。; 使用场景及目标:①深入理解线性稳压电源的工作原理与设计方法;②掌握Multisim软件在电路仿真中的实际应用;③完成基于LM317/LM337的可调稳压电源课程设计任务;④提升模拟电路系统的设计、仿真与分析综合能力; 阅读建议:建议结合Multisim软件同步实践,按照文档电路图逐步搭建仿真模型,重点关注电压调节电路的实现细节与参数设置,并参考所提供的其他仿真资源拓展知识广度,强化工程思维训练。

ZOJ 3649

倍增法DP #include #include #include #define N 50100 #define POW 17 #define inf 1000000 using namespace std; int val[N]; int head[N],cnt; int p[N][POW],dep[N],mi[N][POW],mx[N][POW],dp[N][POW],dp1[N][PO

1292765944的专栏 950

阻尼器磁流变阻尼器MR Damper非线性(阻尼、滞回)特性研究(Matlab代码实现)

内容概要:本文围绕磁流变阻尼器(MR Damper)的非线性特性开展深入研究,重点剖析其在动态载荷作用下的阻尼力响应与滞回行为所表现出的强非线性特征,并基于Matlab平台进行系统建模与数值仿真。通过建立能够准确描述MR阻尼器非线性力学行为的数学模型,模拟其在不同激励条件、电流强度和运动频率下的动态响应过程,进而对系统的非线性特性进行定性与定量分析。研究涵盖了模型构建、参数设定、仿真执行与结果可视化等全过程,突出了Matlab在处理复杂非线性系统仿真中的强大功能与工程实用性,为智能材料器件在振动控制领域的应用提供了坚实的理论支撑与技术路径。; 适合人群:具备一定控制理论、机械动力学或智能材料基础知识,熟悉Matlab编程环境的研究生、科研人员及从事振动控制、结构工程等相关领域的工程技术人员。; 使用场景及目标:①用于智能材料与结构领域的科研与教学,帮助深入理解磁流变阻尼器的工作机理与非线性动力学特性;②为车辆半主动悬架系统、建筑结构抗震减震、桥梁风振抑制等实际工程中的振动控制系统设计、仿真验证与参数优化提供技术支持;③作为非线性系统建模、动力学仿真与Matlab编程实践的经典案例,有效提升使用者的系统分析能力和工程软件应用水平。; 阅读建议:建议读者结合文中提供的Matlab代码进行动手实践,通过调整模型参数(如电流、激励幅值与频率)观察系统响应的变化规律,深入探究非线性特性的形成原因与影响因素,并可尝试将该建模方法迁移至其他智能阻尼器件(如压电、电流变阻尼器)的研究中,以拓展应用视野。

ZOJ 3649 倍增法DP、树链剖分、tarjan并查集

Time Limit:5000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Status Practice ZOJ 3649 Description There are n individuals(2 n <= 30000). Everyone has one or more

Mr.Phoebe的专栏 869

全桥LLC谐振(变频+移相混合控制)变换器闭环仿真模型(Simulink仿真实现)

内容概要:本文档详细介绍了一种基于Simulink实现的全桥LLC谐振变换器闭环仿真模型,采用变频与移相混合控制策略,重点研究系统的动态响应、稳态性能及高效软开关特性。内容涵盖系统建模、PI控制器设计、闭环反馈机制构建以及谐振参数的优化配置,全面展示了从理论分析到仿真验证的全过程。通过在不同输入电压与负载条件下进行仿真测试,验证了该模型在提升转换效率、实现零电压开通(ZVS)和精确调控输出电压方面的优越性能。同时,配套提供参数设计报告、仿真说明文档及参考文献,有助于深入理解与复现实验结果。; 适合人群:具备电力电子与电力系统基础知识,熟悉Simulink/Matlab仿真环境,从事高频DC-DC变换器、新能源电源、车载充电机或相关领域研发工作的工程师及高校研究生。; 使用场景及目标:① 掌握全桥LLC谐振变换器的建模方法与闭环控制系统设计流程;② 深入理解变频+移相混合控制在高效率电源变换中的协同作用机制;③ 用于科研项目复现、教学案例演示或工业级电源产品的前期仿真预研;④ 为实际硬件原型开发提供可靠的理论支撑与关键参数设计依据。; 阅读建议:建议结合所提供的仿真文件与设计报告同步操作,重点关注控制环路搭建、谐振腔参数选取及其对系统性能的影响,推荐通过调整负载与输入条件进行多工况仿真分析,有条件者可进一步推进至样机实验验证。

【顶级EI复现】新扩展移相角下的双有源桥DC-DC 变换器优化控制策略(Simulink仿真实现)

内容概要:本文聚焦于“新扩展移相角下的双有源桥DC-DC变换器优化控制策略”,在Simulink环境中实现高性能闭环控制仿真。通过引入改进型扩展移相调制(EPS)策略,结合KKT最优性条件与分段解析优化方法,系统实现了软开关(ZVS/ZCS)的精确控制,有效降低了功率器件的电压电流应力,提升了变换器在高频、高压隔离场景下的转换效率与动态响应能力。文档详细阐述了控制逻辑的设计原理与参数整定方法,并提供完整的Matlab/Simulink仿真模型与代码,确保研究成果可复现、可拓展,已通过顶级EI期刊标准验证,具备高精度、强鲁棒性的工程应用价值。; 适合人群:电力电子、电气工程及其自动化等相关专业的研究生、高校科研人员,以及从事新能源发电、电动汽车、微电网、储能系统等领域的技术研发工程师;尤其适用于需复现高水平论文成果的研究者。; 使用场景及目标:①深入理解双有源桥(DAB)变换器的工作机理与先进移相控制策略;②掌握基于Simulink的电力电子系统建模、仿真与优化技术;③复现并验证EI级期刊论文中的控制算法,支撑学术论文撰写、课题申报或实际工程原型开发。; 阅读建议:建议读者结合“改进型EPS调制”“软开关实现条件”“最小应力优化目标”等核心技术要点,利用所提供的仿真模型进行分模块调试与参数扫描分析,深入探究控制环路设计逻辑与系统稳定性边界,同时可参考荔枝科研社资源目录获取同类案例以拓宽研究思路和技术视野。

zoj 3649 树上的倍增法

Social Net Time Limit: 5 Seconds      Memory Limit: 65536 KB There are n individuals(2 n <= 30000). Everyone has one or more friends. And everyone can contact all people by friend-relation. If

写东西的地方 825

【电机学复习笔记】同步电机的特性及参数的求取

同步电机的主要特性包括:空载特性、短路特性、零功率因数负载特性、外特性和调整特性。 基于以上特性我们可以实现: 从空载特性和短路特性求同步电抗的不饱和值和短路比; 从零功率因数负载特性和空载特性确定保梯电抗(定子漏抗)和电枢反应电动势

Pantrick_的博客 2万+

Social Net ZOJ - 3649

题意 给出一幅有n个点的连通图,求出它的最大生成树,之后对于m个询问,每个询问包括两个数ab,求出a到b的路径上的极差最大值(必须用后面的数来减前面的) 方法 首先求出最大生成树,之后找到LCA,即可由它得到路径,但是发现暴力扫整一条路径肯定会TLE,因而可以用倍增的方法来预处理 dad[i][j]表示i节点的第(1 &amp;lt;&amp;lt; j)的父节点(即父节点的父节点的父节点,重复(1&amp;lt...

yzyyylx的博客 408

Android - 蓝牙开发

文章目录科普SIG类型制式编程Classic BluetoothBluetooth Low Energy蓝牙的UUID是什么?有什么用? 科普 https://zh.wikipedia.org/wiki/%E8%97%8D%E7%89%99 蓝牙(英语:Bluetooth),一种无线通讯技术标准,用来让固定与移动设备,在短距离间交换资料,以形成个人局域网(PAN)。其使用短波特高频(UHF)无线电波,经由 2.4 至 2.485 GHz 的 ISM(工业、科学、医疗)频段来进行通信。1994 年由电信商

qq_43323826的博客 1万+

A股量化实战:用Python回测动量因子策略(附聚宽完整代码)

本文详细介绍了如何在A股市场使用Python和聚宽平台,实战回测一个动量因子量化交易策略。从环境搭建、数据获取到完整的策略代码实现与回测分析,手把手教你验证“强者恒强”的投资逻辑,并提供参数优化与实战避坑指南,助力量化新手迈出第一步。

weixin_29264201的博客 967

[zoj3649]Social Net

here are n individuals(2 <= n <= 30000). Everyone has one or more friends. And everyone can contact all people by friend-relation. If two persons aren’t friends, they also can contact by their friends.

Rec.的博客 467

MATLAB锂离子电池伪二维(P2D)模型实现

锂离子电池伪二维(P2D)模型的MATLAB实现。该模型基于Newman等人提出的经典电化学模型,考虑了固液相扩散、电荷守恒和电化学反应动力学。

hie98894的博客 1928

ZOJ3649 Social Net

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3649 这题倍增维护信息之多,也能算是一道毒瘤题了…… 解题思路 这题分为两个部分,第一个是最大生成树,第二个是若干个询问,问在生成树上 x−&gt;yx−&gt;y x->y 的路径上最大的 ck−cj(ck&gt;=cj,j&lt;=k)ck−cj(...

chy2003的博客 215

VSCode 远程开发:实现服务器图形化界面(GUI)的高效操作指南

本文详细介绍了如何通过VSCode远程开发实现服务器图形化界面(GUI)操作,包括X11转发原理、完整配置指南和实战测试。通过安装Xming、配置SSH连接和服务器端设置,开发者可以高效地在本地显示远程GUI应用,提升开发效率。

weixin_29245767的博客 292

仿真每日一练 | Workbench下薄板疲劳分析

今天给大家介绍Workbench下薄板疲劳分析,采用稳态分析模块进行评估。完成求解后,插入疲劳工具,同时插入对应的寿命进行查看,如图7和图8所示。采用稳态分析模块,导入几何模型,效果如图1。添加固定约束与扭矩,同时添加转速如图4所示。主要包括7要素,对应的类型见图2。求解完成后查看应力,如图6所示。1-1-3、有限元系统模型构建。1-2-1、加载条件/边界条件。1-1-1、几何模型构建。1-1-2、材料定义。1-2-2、求解设置。1-3-1、查看结果。1-3-2、评估结果。1-3-3、修正结果。

ansysxuexizhe的博客 1071

[ZOJ3649]Social Net 题解

前言 这道题目珂以说是很毒瘤了。 题解 首先克鲁斯卡尔求最大生成树,输出边权和。 倍增维护四个值:   链上最大值/最小值   链向上/向下最大差值 当然祖先是肯定要维护的。 然后把一条链经LCA分成两半。 分向上向下按照之前维护的值动态计算。 最后注意多组数据的维护(清空数组,边数之类的变量)。 代码 #include <cstdio> #include <cstring&gt...

weixin_30544657的博客 128

医疗影像处理实战:如何用Slicer和Mimics将.nii.gz文件转为.ply格式(附避坑指南)

本文详细介绍了利用3D Slicer和Materialise Mimics软件,将医学影像中常见的.nii.gz格式文件转换为通用三维网格.ply格式的完整实战流程。文章重点分享了从数据分割、DICOM序列导出到高质量网格生成的核心步骤与关键参数设置,并提供了针对常见问题的避坑指南,旨在帮助医学影像研究者和工程师高效完成从体数据到三维模型的关键转换。

weixin_28304023的博客 102

ZOJ:3649 Social Net

题目描述:戳这里 题解: 这题绝对有毒。。。 第一眼看到这题的题面感觉应该比较简单,只要倍增维护一下最大值和最小值就好了??? 然而码了70+行之后发现题目读错了。有一个限制条件,两个点x,y是“有向”的,x到y的路径序列中,最大值的位置编号一定要大于最小值的位置编号。。。 这样就比较麻烦了[汗]。 但是也不是不可做,我们“只需要”维护五个倍增数组就可以了。 f[i][j]f[i][...

dyt's Blog 333

Cadence安装

选择刚刚解压的E盘DVD驱动中的setup.exe文件,安装路径推荐D盘,此处会自己给你新建文件夹,我们无需手动建文件夹。但是,新产品有一些BUG(影响使用流畅性),所以我们要对17.4打补丁,补丁包同样去吴川斌的博客下载。下载阿狸狗破戒大师 我这边下载的是版本V3.2.6,同样在吴川斌的博客下载安装包,链接同上。记录一下安装过程,方便以后安装使用Cadence。破解完成后,建议将这两个软件创建快捷方式到桌面。到这里,我们已经可以正常的使用Cadence了。对光盘映像文件解压后双击,可以在我的电脑看到。

电子那些事儿 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

RMQ ZOJ 3649 Social Net

Social Net     Time Limit: 5 Seconds      Memory Limit: 65536 KB     There are n individuals(2  n <= 30000). Everyone has one or more friends. And everyone can contact all people by friend-r

We Can 788

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【做题】zoj3649 Social Net——倍增

这题是吴老师推荐的,于是我就去做了。 根据题意,在完成最大生成树后,对于树上从x到y的一条路径,求出最大的ck-cj(j<=k,ci为路径上第i个点的权值)。 我一开始的想法是二分,记路径xy的中点是mid,路径ab的答案记为ans(a,b),最大值为mx(a,b),最小值为mn(a,b),那么,ans(x,y)=max{ans(x,mid),ans(y,mid),mx(mid,y)-m...

weixin_30614587的博客 183

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ZOJ 3649 Social Net(树上倍增)

一整天基本上只打了两题,每题半天,调起来简直爽爆。 There are n individuals(2 &lt;= n &lt;= 30000). Everyone has one or more friends. And everyone can contact all people by friend-relation. If two persons aren’t friends, they...

xyyxyyx的博客 271

ZOJ 3649 Social Net 最大生成树 + 并查集维护

题意:给定一个n(2v路径上顺序          得到的ci cj(i 题解:kruskal搞掉最大生成树,并查集维护up[] dw[] ma[] mi[] 分别表示从当前点走到lca的最优值,从lca走到当前点的最优值,从当点走到lca的最大值,          从lca走到当前点的最小值即可。           PS:比赛的时候把并查集搞错了唉,但是还是搞到了这个fb。

Uhh, call me zacky NOW!!! 1316

zoj 3649 lca 倍增 DP

下课后直接奔实验室,月赛都快结束了,我擦,随便挑了一道题开始搞起来,是我喜欢的图论,心里暗暗欣喜,可是还是有点绕人,比赛结束刚好敲完,吃晚饭后,调了调,AC,呵呵 比赛的时候A的貌似很少,其实也不太难 链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3649 下面是我做过的倍增法求LCA以及倍增的DP的两个练习题

努力奋斗才能梦想成真 2076
上一篇: 配对堆Pairing Heap
下一篇: TC SRM681 DIV2 T3 XorLists
「已注销」
博客等级 码龄9年 13粉丝 18原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值