[hdu3477] Temperature [3472] HS BDC

CSS 弹性盒布局:flex-wrap 换行与多行交叉轴对齐 默认情况下,弹性容器(flex container)会把所有子项(flex item)挤在一行里,哪怕空间不够也只会压缩子项,而不会换行。浏览器会依次把子项放进当前行,当剩余空间不足以容纳下一个子项的基础尺寸时,就开启新的一行。一旦允许换行,容器里就会出现多条「弹性行(flex line)」,此时交叉轴对齐的行为也会从「单行对齐」变成「多行对齐」,是默认值:当子项没有设置固定高度时,行会被拉伸,子项随之变高,看起来像是「撑满了容器」。上面这段代码中,每个子项固定 200px 宽,容器宽度决定每行能放几个。 阅读详情

Temperature

http://acm.hdu.edu.cn/showproblem.php?pid=3477

题目描述略。
微积分题,推导过程如下:

-dT/dt=k(T-E)   (T为汤的温度,E为环境温度,由Hint里的 Newton’s law of cooling知k是常数。)

积分得 -[dT/(T-E)=[kdt (“[” 表示积分号……)

化简得ln(1/(T-E)) = kt+C

整理得1/(T-E) = Cexp(kt)

当t=0时,求出C=1/(T-E)=1/(u0-ua)

k=(ln(u0-ua)-ln(u1-u1))/t1

T=1/(Cexp(kt))+E

就都可以算了

注意要特殊判断ua-u0,否则有的地方会除零

代码:

#include <cstdio>
#include <cstdio>
#include <cstdlib>
#include <math.h>
#include <algorithm>
using namespace std;
const double EPS=1e-5;
int main()
{
    int cs, n, op, b;
    double ua, u0, u1, t1;
    double k, C;
    scanf("%d", &cs);
    for (int css=1; css<=cs; css++)
    {
        scanf("%lf%lf%lf%lf%d", &ua, &u0, &u1, &t1, &n);
        k=(log(u0-ua)-log(u1-ua))/t1;
        C=1.0/(u0-ua);
        printf("Case %d:\n", css);
        for (int i=0; i<n; i++)
        {
            scanf("%d%d", &op, &b);
            if (op==0)
            {
                if (fabs(ua-u0)<EPS)
                    printf("0.00\n");
                else
                    printf("%.2lf\n", log(1.0/(C*(b-ua)))/k);
            }
            else
            {
                if (fabs(ua-u0)<EPS)
                    printf("%.2lf\n", ua);
                else
                    printf("%.2lf\n", 1/(C*exp(k*b))+ua);
            }
        }
        printf("\n");
    }
    return 0;
}

HS BDC

http://acm.hdu.edu.cn/showproblem.php?pid=3472

题目大意:

给出一些单词,有些单词可以翻转使用,问所有能不能首尾相接(上一个单词尾字母=后一个单词首字母)连成一个串。

题目分析:

今天第一次写混合图的欧拉回路判断。

参考资料:http://www.cnblogs.com/ylfdrib/archive/2010/08/21/1805201.html

这道题要求的是欧拉路径,也就是原图中可能不存在欧拉回路的。找两个degree为奇数的点,连一条边就可以了。

注意用一个并查集先判断一下基图是否连通。

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <limits.h>
#include <algorithm>
using namespace std;
#define maxn 30

int g[28][29];      //26+2
int f[28][28];
int deg[28];
int father[28];
bool show[28];

void MakeSet(int a)
{
    father[a]=a;
}
int Find(int a)
{
    if(father[a]==a) return a;
    return father[a]=Find(father[a]);
}
bool Same(int a,int b)
{
    return Find(a)==Find(b);
}
void Union(int a,int b)
{
    father[Find(a)]=Find(b);
}

void order(char &ch1, char &ch2)
{
    if (ch1>ch2)
    {
        char t=ch1;
        ch1=ch2;
        ch2=t;
    }
}

bool init()
{
    int n, tag, odd;
    char word[30], ch1, ch2;
    
    scanf("%d", &n);    
    
    memset(g, 0, sizeof(g));  //只存无向边的任意定向 
    memset(deg, 0, sizeof(deg));
    memset(show, 0, sizeof(show));
    
    for (int i=0; i<26; i++)
        MakeSet(i);
    
    for (int i=0; i<n; i++)
    {
        scanf("%s%d", word, &tag);
        ch1=word[0];
        ch2=word[strlen(word)-1];
        if (ch1==ch2)
            continue;
        if (tag==1)
        {
            order(ch1, ch2);
            g[ch1-'a'][ch2-'a']++;
//            printf("ch1=%c ch2=%c\n", ch1, ch2);
        }
        deg[ch1-'a']--;
        deg[ch2-'a']++;
        show[ch1-'a']=show[ch2-'a']=true;
        Union(ch1-'a', ch2-'a');
    }
    
    for (int i=0; i<26; i++)
        if (show[i])
        {
            for (int j=i+1; j<26; j++)
                if (show[j] && !Same(i, j)) return false;    //不连通 
            break;
        }
        
    odd=0;
    for (int i=0; i<26; i++)
        if (show[i] && deg[i]%2!=0)
        {
            if (odd==0) ch1=i+'a';
            else if (odd==1) ch2=i+'a';
            odd++;
            if (odd>2) return false;
        }
        
    if (odd==1) return false;
    else if (odd==2)
    {
        order(ch1, ch2);
        g[ch1-'a'][ch2-'a']++;
        deg[ch1-'a']--;
        deg[ch2-'a']++;
    }
    return true;
}

void build_graph(int &total)
{
    int src=26, dst=27;
    
    total=0;
    for (int i=0; i<26; i++)
        if (show[i] && deg[i]!=0)
        {
            if (deg[i]<0)
            {
                g[src][i]=(-deg[i])/2;
                total+=g[src][i];
//                printf("src %c %d\n", i+'a', g[src][i]);
            }
            else
            {
                g[i][dst]=deg[i]/2;
//                printf("%c  dst %d\n", i+'a', g[i][dst]);
            }
        }
//         for (int i=0; i<26; i++)
//         { for (int j=0; j<26; j++)if (g[i][j]>0)printf("(%c %c) %d\n ",i+'a', j+'a',g[i][j]);}
}

int EdmondsKarp(int n,int src,int dst)
{
    int d[maxn]={},p[maxn],r[maxn]={},c[maxn]={n};
    int flow=0,delta=INT_MAX,h[maxn],v=src;
    memset(f, 0, sizeof(f));
    p[src]=-1;
    while(d[src]<n)
    {
        bool flag=true;;
        h[v]=delta;
        for(int i=r[v];i<n;i++)
            if(g[v][i]>f[v][i]&&d[v]==d[i]+1)
            {
                if(delta>g[v][i]-f[v][i]) delta=g[v][i]-f[v][i];
                flag=false;
                r[v]=i;p[i]=v;v=i;
                break;
            }
        if(flag)
        {
            int t=n-1;
            for(int i=0;i<n;i++)
                if(t>d[i]&&f[v][i]<g[v][i]) {t=d[i];r[v]=i;}
            if(--c[d[v]]==0) break;
            d[v]=t+1;
            c[d[v]]++;
            if(p[v]!=-1) {v=p[v];delta=h[v];}
        }
        else if(v==dst)
        {
            flow+=delta;
            while(p[v]!=-1)
            {
                f[v][p[v]]-=delta;
                f[p[v]][v]+=delta;
                v=p[v];
            }
            delta=INT_MAX;
        }
    }
    return flow;
}

int main()
{
    int cs, total;
    scanf("%d", &cs);
    for (int css=1; css<=cs; css++)
    {
        printf("Case %d: ", css);
        if (!init())
        {
            printf("Poor boy!\n");
            continue;
        }
        build_graph(total);
        if (EdmondsKarp(28, 26, 27)!=total)
            printf("Poor boy!\n");
        else
            printf("Well done!\n");
    }
    
    return 0;
}
第一次写这种题,mark一下~

11.8 LangGraph生产级AI Agent开发:从节点定义到高并发架构的终极指南 本文介绍了如何使用 LangGraph 构建生产级 AI Agent,重点解析了 LangGraph 的核心设计、节点与边的实现方法论、生产级实现技巧以及性能优化策略。LangGraph 通过图结构抽象复杂 AI 工作流,核心组件包括节点、边、状态和检查点。节点通过 Python 函数封装原子业务逻辑,边通过条件分支实现动态工作流。生产级实现技巧包括状态管理、多会话控制和错误处理机制。性能优化策略涉及并行执行和缓存机制设计。文章还提供了旅行规划 Agent 的实战案例和常见问题解决方案,帮助开发者构建高效、 阅读详情

相关推荐

STM32硬件SPI驱动ADS1220实战:从零搭建高精度数据采集系统(附避坑指南)

本文详细介绍了使用STM32硬件SPI驱动24位高精度ADC芯片ADS1220的完整实战方案。内容涵盖从硬件设计、CubeMX工程配置、SPI通信底层实现到数据读取策略与性能优化的全流程,并重点分享了多通道切换、噪声抑制等关键避坑指南,帮助开发者构建稳定可靠的高精度数据采集系统。

o4p5q6r7s的博客 449

hdu 3477 Temperature

<br /> Temperature<br />Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)<br />Total Submission(s): 393    Accepted Submission(s): 143<br /><br />Problem DescriptionMany people like summer as summer has a lot of advantages

hqd_acm的专栏 1020

Python气象数据处理实战:用PyCINRAD轻松绘制雷达PPI图像(附避坑指南)

本文详细介绍了如何使用Python库PyCINRAD处理中国CINRAD系列天气雷达的基数据,并绘制专业的PPI图像。内容涵盖从环境配置、数据读取、核心绘图到高级定制与批量处理的完整流程,并针对安装依赖、中文乱码、数据范围等常见问题提供了实用的避坑指南,帮助气象工作者高效完成雷达数据可视化。

dog123的博客 221

扒一扒数据驱动测试(DDT)与关键字驱动测试(KDT)

我们可以得到如下结论: 1)驱动因素:KDT是action和data,DDT是data; 2)执行过程关注:KDT需要定义执行过程(白盒),而DDT不关注(黑盒); 3)精细度:KDT是动作级的,DDT是函数级的;

软件生命周期中的攻防博弈 7726

学习记录(十一)--Pattern Recognition投稿记录

上一周特别忽然通知统计建模要答辩,确定是否晋级国赛,一直在准备答辩的事情,所以上一周没有总结周汇报,深刻检讨!!!不过结果是好的,我们组第二名晋级哦。这周主要是跟大家分享一下我投稿PR(Pattern Recognition)的一个时间线,以及投稿后的工作。一、PR从投稿到接收的时间线2025.4.3 Major Revision(ddl4.23) 当时正在弄比赛和另一个着急推进的文章2025.5.30 Minor Revision 这次小修基本上只有一些格式和简单一点点问题。

qq_54949944的博客 1917

华为OD机考双机位C卷 - 朋友圈个数(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 朋友圈个数(OD上机考试双机位C卷)。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 695

CSS 盒子模型与背景渐变、文字渐变实战

content(内容区):文字、图片等实际内容占据的区域padding(内边距):内容与边框之间的空白border(边框):盒子的边界margin(外边距):盒子与其他盒子之间的间距fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;margin 外边距border 边框padding 内边距content 内容区。

2601_96876853的博客 237

【Coppeliasim|轨迹规划(三)】机械臂逆解

文章目录一些设置导航点设置添加连接用于碰撞的设置代码实现终端输出 一些设置 导航点设置 关于如何添加设置 dummy 的细节建议参考官方手册,这里不再赘述。 添加连接用于碰撞的设置 按照序号点击(一个是机械臂,一个是所有的物体除了机械臂): 代码实现 getMatrixShiftedAlongZ=function(matrix,localZShift) local m={} for i=1,12,1 do m[i]=matrix[i] end

【人工智障 | 计算鸡视觉 | 机器孩】 1万+

CSS 弹性盒布局:主轴与交叉轴对齐详解

很多初学者容易混淆「主轴」和「交叉轴」,导致对齐属性用错方向。本文从轴向概念出发,系统梳理弹性盒布局中的对齐属性,并给出可直接运行的示例。Flexbox(弹性盒布局)是 CSS 中最常用的布局方案之一。它把容器内的子元素按一条。」这条主线,弹性盒布局的对齐问题基本就能迎刃而解。排列,并提供了两个方向上的对齐能力:沿主轴的。后,这两个属性的视觉效果会随之旋转 90°。如果只想调整某一个子元素,可以在子元素上使用。的分布,这是最容易出错的地方。组合都能实现两个方向的居中。/* 交叉轴居中 */

2601_96876853的博客 415

Dify 实战:使用 Firecrawl 插件高效爬取微信公众号文章

本文介绍了如何利用Dify平台和Firecrawl插件构建微信公众号文章自动化采集系统。Dify作为开源LLM应用开发平台,结合Firecrawl的智能网页爬取能力,可轻松实现文章爬取、清洗和结构化存储。文章详细讲解了环境部署、插件安装以及工作流创建过程,通过可视化节点操作即可完成从URL输入到Markdown格式输出的全流程。该方案无需复杂代码,能有效解决反爬、动态渲染等问题,适用于知识库构建、模型训练等场景,显著提升开发效率。

SmartSi 1824

fast-lio系列改进版本

2.回环检测的优化结果,更新到FAST-LIO2的当前帧位姿中,幷进行ikdtree的重构,进而更新submap。其它的效果还不清楚,实测lio部分稳定性很好。用fast-lio_slam就很稳定。融合了fast-lio2和sc-pgo,两部分分开运行,SC-PGO从FAST-LIO2节点获取里程计和激光雷达点云主题。的作者kim在FAST-LIO2的基础上,添加SC-PGO模块,通过加入ScanContext全局描述子,进行回环修正,SC-PGO模块与FAST-LIO2解耦,非常方便,很优秀的工作。

z1872385的博客 3189

CSS 弹性盒布局:子项目 flex 伸缩与 gap 间隙详解

flex-grow决定剩余空间如何分配,决定空间不足时如何压缩,flex-basis决定伸缩基准;日常优先使用flex简写,理解flex: 1与flex: auto的差异;项目间距优先使用gap,避免margin带来的首尾处理问题;注意与这两个高频细节。

2601_96876853的博客 320

智能车图像处理0-图像处理整体框架思路

1.总体框架如上所示,具体代码请查看后续文章。2.因为参与竞赛时间是大二,所以在编程中有许多不规范的地方(如变量的命名),大家见谅。3.原创文章,请勿侵权=-=

taiyuezyh的博客 1万+

CSS2DObject 名称标签最小示例

在三维场景中实现随模型移动的名称标签,纯 DOM + CSS2DObject 方案兼具低实现成本、高样式与交互灵活性及良好性能。通过 document.createElement 组装带图标和文字的标签,利用 CSS2DObject 挂载并跟随模型,配合命名约定与 removeLabel 精准管理生命周期,支持点击、悬停、省略号等原生行为,避免内存泄漏,是中等规模标签场景的理想选择。

weixin_44242600的博客 283

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

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

CSS 三种引入方式与选择器全解

div p。

2401_89953644的博客 222

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

CSS 仿写页面

拿到设计稿先别写代码。这篇文章先讲「怎么把一张图拆成 DOM 结构」,再把颜色表示、五种尺寸单位、background的六个子属性、文字排版属性逐个落地,最后说明opacity和rgba到底差在哪。

2401_89953644的博客 193

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

css注意事项一

button {}踩坑场景:你写的分页按钮 hover 变色不生效,大概率是别的选择器优先级更高,把你的样式覆盖了。规避:不要随便写!important,实在要提升优先级,叠加 class,比如。不要东写一条宽、下面突然写颜色、再回头写 padding,乱序后期改样式头大。

2603_96589670的博客 417

CSS 元素类型、盒模型与 Flex 布局

想让单独设置的某条边生效,必须写在通用。

2401_89953644的博客 595

HTML与CSS基础第九课—HTML的列表

ul是没有顺序的一组:顺序换一换,意思不变,例如一门课会用到的几样东西。ol是有顺序的一组:步骤、名次、操作先后。选哪一个,先问「把两条对调,意思变不变」。li是其中一条,必须放在ul或ol里面。ul和ol的直接子内容就是这些li。ulol他们的子元素一定是li。li中,也可以包裹一组列表。但是必须放在li内部。某一条下面还可以再套一层列表。内层的ul或ol写在那一条li里面,不要写在li的外面、和别的li平级。示例里「这一项先不学」属于「JavaScript」这一条,所以套在它的li里。内层用ul。

专注大前端领域,持续分享React、Vue、React-Native、Flutter、跨端等领域内容 201

【CSS实战范例】悬停炫光

这同时解决了「两端提前露头」:扫光层必须比图形大,否则光带两端会在图形内部被裁断,看起来像扫到一半就断了。,方向才会严格是 45°。这也是扫光层必须做成正方形的第二个原因——不只是为了覆盖,更是为了方向。扫光层直接不渲染,外发光也去掉,只留 8% 的亮度变化——反馈还在,但没有任何位移。后,光带推进到两端时正方形的四条边都还在字形之外,两种宽高比实测都没有截断。把「发光」和「扫光」分给两个不同元素,是后面很多问题的解法,第八节会展开。光带是跨越整个扫光层的一条斜带,所以扫光层在这个方向上的跨度必须不小于。

朝阳39的博客 312

使用HTML+CSS+JavaScript实现文件上传弹窗

使用HTML+CSS+JavaScript实现文件上传弹窗

bjzhang75的博客 173

CSS 背景复合写法与视差滚动实战

视差滚动(Parallax Scrolling)指的是:页面滚动时,背景的移动速度与前景内容不同,从而产生纵深感。注意背景色只能写在最后一层,且多背景层时建议每层单独换行,便于阅读。属性既支持拆分成多个子属性单独设置,也支持用一行复合写法一次性声明。掌握这行写法,再注意移动端降级与性能控制,就能在大多数项目中稳定使用视差滚动效果。在网页视觉设计中,背景往往是最容易被忽视、却最能拉开质感差距的一环。复合写法的语法讲起,逐步过渡到视差滚动的实现原理与完整案例。,就能用极少的代码实现经典的视差滚动效果。

2601_96876853的博客 488

CSS 弹性盒布局:改变主轴方向 flex-direction

默认情况下,主轴是水平方向,项目从左到右排列。用于指定弹性容器(flex container)中主轴的方向,从而决定弹性项目的排列方向。是 Flexbox 中最基础也最常用的属性之一,理解它对于掌握弹性布局至关重要。主轴变为垂直方向,项目从上到下排列。理解主轴与交叉轴的关系,是灵活运用 Flexbox 的基础。主轴仍为水平方向,但项目从右到左排列,起始位置在右侧。是默认值,主轴为水平方向,项目从左到右依次排列。主轴为垂直方向,项目从下到上排列。,即可看到项目排列方向的变化。/* 修改这里观察效果 */

2601_96876853的博客 454

CSS 盒子模型尺寸计算与 box-sizing 详解

box-sizing决定了widthheight只算内容区,border-box算到边框外沿。理解两者的换算关系,就能准确预测元素的实际占位,避免布局溢出与对齐错位。实践中推荐全局设置,让尺寸声明与视觉结果保持一致。

2601_96876853的博客 308

【前端】CSS

举例设置颜色用style,可以写在body,也可以写在head里面写head清晰一点mdn文档三种方式推荐使用外置文件方式,外置需要用linkstyle下年写的那个p就是要设置的东西对应的标签css不分大小写,统一用小写冒号后面带空格p,也就是那个标签,叫选择器,和后面大括号之间带一个空格。

哦虎!的博客 47

CSS display 模式转换详解

display属性是 CSS 布局的基石。掌握blockinlineflexgrid等常见取值,并理解它们之间的转换规则,能够帮助我们更灵活地控制页面结构。在实际开发中,建议优先使用flex和grid完成布局,仅在必要时才通过display转换处理细节问题。

2601_96876853的博客 334
上一篇: [HDU3974] 解题报告 && 多校联合反思
下一篇: [POJ2337]
program_shun
博客等级 码龄17年 10粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值