【DFS】 hdu4277 USACO ORZ

Gromacs基础教程一:入门建议 本系列教程针对的群体:非计算化学专业,而是偏生物方向的、有少量分子动力学模拟需求的人群。 阅读详情

USACO ORZ

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4277

题意:给你n个有长度的线段,问如果用上所有的线段来拼1个三角形,最多能拼出多少种不同的?

题解:暴力搜索,可以用set判重。开始搜索时也可以先把第1个线段固定在一个边上,因为它放哪个边对后面搜索都是一样的。

代码:

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<set>
#include<vector>
#include<string>
#define LL long long
#define N 25
using namespace std;
int num[N];
int n,summ,xj,xk;
int Case;
struct node
{
    int x,y,z;
    bool operator < (const struct node &a) const
    {
		return (x!=a.x)?(x<a.x):(y!=a.y?(y<a.y):(z<a.z));
    }
}temp,ans;
set<struct node> hashx;
void dfs(int);
int main()
{
    scanf("%d",&Case);
    for(int c=0;c<Case;c++)
    {
        summ=0;hashx.clear();
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
		{
			scanf("%d",&num[i]);
			summ+=num[i];
		}
		temp.x=num[1];temp.y=0;
		if(n<3)
		{
			printf("%d\n",0);
			continue;
		}
		dfs(2);
        printf("%d\n",hashx.size());
    }
    return 0;
}
void dfs(int x)
{
	if(x>n)
	{
		        xj=temp.x;
				xk=temp.y;
                if(((xj+xk)>(summ-xj-xk))&&(summ-xk>xk)&&(summ-xj>xj))
                {
                    ans.x=max(xj,max(summ-xj-xk,xk));
                    ans.z=min(xj,min(summ-xj-xk,xk));
                    if(xj!=ans.x&&xj!=ans.z) ans.y=xj;
                    else if(xk!=ans.x&&xk!=ans.z) ans.y=xk;
                    else ans.y=summ-ans.x-ans.z;
                    hashx.insert(ans);
                }
				return;
	}
	dfs(x+1);
	temp.x+=num[x];
	dfs(x+1);
	temp.x-=num[x];
	temp.y+=num[x];
	dfs(x+1);
	temp.y-=num[x];
}
来源: http://blog.youkuaiyun.com/acm_ted/article/details/7960801


ESP32水墨屏日历实战:低功耗自动更新与HTTPS数据解析 本文详细介绍了ESP32水墨屏日历项目的开发实践,重点讲解了低功耗自动更新与HTTPS数据解析的实现方法。通过ESP32的自动休眠功能和水墨屏的零功耗特性,结合HTTPS请求安全获取网络数据,实现了高效节能的桌面日历应用。项目代码开源,适合物联网开发者参考。 阅读详情

相关推荐

lstm如何输入多维序列_深度学习也可以做时间序列异常诊断

最近在看的一篇论文里,用到了GRU、VAE等技术来做多维时间序列异常诊断。那么今天首先来聊一聊深度学习的基础知识,然后简单说一下论文。以下基础知识部分的内容,主要来源于李宏毅老师的课程。有兴趣的可以去看李老师的课程哦https://www.bilibili.com/video/BV1JE411g7XF?p=1 1、GRU(Gate Recurrent Unit):GRU是循环神经网络(Recurr...

weixin_30899789的博客 2833

C - USACO ORZ

Like everyyione, cows enjoy variety. Their current fancy is new shapes for pastures. The old rectangular shapes are out of favor; new geometries are the favorite. I. M. Hei, the lead cow pasture ar

Cworld2017的博客 507

L298N电机驱动模块的接线使用与代码实现

#include "iostm8s208mb.h" #define u8 uint8_t #define u16 uint16_t #define u32 uint32_t typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned long uint32_t; // 关于LED灯的宏定义 #define LED2 PI_ODR_ODR2 //输出量 #define LE

Clichong 13万+

HDU - 4277 USACO ORZ (set判重+dfs)好题

HDU - 4277 USACO ORZ Time Limit: 1500MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit Status Description Like everyone, cows enjoy variety. Their cur

yanghui07216的博客 715

Vivado+VCS+Verdi三件套实战:如何高效仿真AXI VIP并快速查看波形

本文详细介绍了如何利用Vivado+VCS+Verdi工具链高效仿真AXI VIP并快速查看波形。通过环境配置、Vivado工程准备、VCS编译与仿真优化以及Verdi波形分析技巧,实现仿真速度的数量级提升,显著提高FPGA开发效率。

red88的博客 1001

海豚调度器(dolphinscheduler)再次使用,添加钉钉预警

1,首先我们部署是海豚调度器 1.3.8版本,由于页面只有邮件预警,所以在了解源码的同时,需要添加钉钉预警 2,说明,这一块是同事搞的,不是我搞的,新版本的dolphinscheduler已经有了钉钉模块,只是新版本还没有发布 3,我们现在只是添加简单的钉钉预警,任务成功或者失败会发送邮件+钉钉 4,具体操作 找到最新的源码devhttps://github1s.com/apache/dolphinscheduler/blob/dev/dolphinscheduler-alert/src/ma...

qq_31866793的博客 3084

hdu 4277 USACO ORZ

USACO ORZ Time Limit: 5000/1500 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5470Accepted Submission(s): 1802 Problem Description Like everyone, cows ...

weixin_33878457的博客 170

Pyinstaller 打包 Pyzbar 时缺失 DLL 文件的排查与修复指南

本文详细解析了使用Pyinstaller打包Pyzbar库时,因缺失关键DLL文件导致程序闪退的常见问题。文章提供了从问题复现、错误诊断到最终修复的完整解决方案,核心在于通过修改.spec配置文件,手动将缺失的libzbar-64.dll等文件添加到打包过程中,确保生成的可执行文件能独立运行。

wdx012345的博客 504

HDOJ4277USACO ORZ【dfs+剪枝】

USACO ORZ Time Limit: 5000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4333    Accepted Submission(s): 1430 Problem Description Like everyone, c

走一步再走一步 821

基于Simulink的二相混合式步进电机驱动器快速建模与仿真实践

本文详细介绍了如何利用Simulink对二相混合式步进电机驱动器进行快速建模与仿真。通过从零搭建电机数学模型、设计H桥控制逻辑,并集成步进时序,手把手指导读者创建可运行的仿真模型文件。该方法能有效验证控制策略,避免硬件调试风险,是学习与实践电机驱动开发的理想途径。

weixin_29171087的博客 148

多相机标定与单应变换:用OpenCV实现BEV俯视全景图

多路监控画面分散在不同屏幕,难以快速理解全局空间关系。通过相机标定与畸变校正,利用单应矩阵将各视角图像投影到统一的地面坐标系,即可合成BEV鸟瞰全景图。该技术是车载360°环视系统和自动驾驶BEV感知的雏形,也适用于场地安防与移动机器人导航。基于Python+OpenCV的四路相机实现,完整覆盖标定、投影变换、多路羽化融合与实时优化,为多视角拼接和俯视全景图项目提供可复现的工程参考。

weixin_29056865的博客 244

USACO ORZ(dfs爆搜+判重)

#include #include #include #include #include #include using namespace std; int n; int a[100100]; int sum,ans; setq; void DFS(int x,int y,int z,int cnt) { if(x>sum/3) { return ; }

haha的博客 562

GIS常用符号化色带(超级色带)根据python制作

GIS自带的色带比较单一,今天分享一款色带,应用之后大家出图的时候可以选择更多的配色,符号化/点击色块/样式引用/将样式添加至列表即可。色带类型比较多,大家可以自己尝试下不同的风格。简单符号化一下,看看效果。以中国县级行政区划为例,

J_Giser的博客 2638

HDU 4277 USACO ORZ DFS

USACO ORZ Time Limit: 5000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4445    Accepted Submission(s): 1469 Problem Description Like everyon

swust_fang 582

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【DFS】hdu 4277 USACO ORZ

http://acm.hdu.edu.cn/showproblem.php?pid=4277 分析:用set构造唯一值判重,注意要用到所有的木棒,构成三角形 #include #include #include #include using namespace std; const int NM=20; int a[NM],sum,n; //数据需要反复利用,所以不用vis sets1;

yduqytd的专栏 591

SAP B1中文培訓教材_SDK

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

HDU - 4277 USACO ORZ(DFS+Set)

# [HDU - 4277 USACO ORZ](https://acm.hdu.edu.cn/showproblem.php?pid=4277) ### 题意: 给你n条篱笆,问你可以组成多少个不同的三角形,一边不同即为不同,需要注意的是n条篱笆一起组成一个三角形,而不是在里面选3条组成一个三角形 ### 解题思路: 利用dfs枚举出所有情况,然后利用set去掉重复的

00后的博客 159

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

hdu4277 USACO ORZ(dfs+set判重)

USACO ORZ Time Limit: 5000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2278    Accepted Submission(s): 814 Problem Description Like everyone, co

ophunter的专栏 983

hdu 4277 USACO ORZ DFS

点击打开链接 题意:n个棍子,棍子可以接起来,然后问你能够拼成多少个完全不同的三角形 思路:3^15=14 348 907,所以直接暴力然后hash一下就好 代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 #define mem(a) me...

weixin_30593261的博客 115

hdu 4277 USACO ORZ(dfs+剪枝)

Problem Description Like everyone, cows enjoy variety. Their current fancy is new shapes for pastures. The old rectangular shapes are out of favor; new geometries are the favorite.I. M. Hei, the...

dielucuan8830的博客 165

hdu4277USACO ORZ dfs暴力枚举+map

//给N个 问rails用着N个rails能构成几个不同的三角形 //dfs暴力枚举+(map) #include<cstdio> #include<cstring> #include<map> #include<iostream> using namespace std ; int ans ; int a[20] ; int n ; int sum = 0 ; struct node {

ijbuhv的专栏 1167

HDU 4277 USACO ORZ(Dfs)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4277 题意:给你n个数,要你用光所有数字组成一个三角形,问能组成多少种不同的三角形 发现自己弱爆了。。。。Dfs()超级弱。。。。 分析:每个数字一定在其中一条边,所以枚举所有数字的位置。。3^15暴搜,根本不需要什么used[]。。。 到所有数字都用完后,即到出口的时候,除去相...

weixin_30772261的博客 69

HDU 4277 USACO ORZ (dfs + hash)

USACO ORZ Time Limit: 5000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2181    Accepted Submission(s): 773 Problem Description Like everyone, cows enj

GentleH's 581

hdu 4277 USACO ORZ (dfs+hash)

USACO ORZ Time Limit: 5000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2272    Accepted Submission(s): 812 Problem Description Like everyone,

To be what you what to be! 1057

hdu 4277 USACO ORZ(dfs搜索+set判重)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4277 解题思路: 题目大意: 给你n个有长度的线段,问如果用上所有的线段来拼1个三角形,最多能拼出多少种不同的? 算法思想: 暴力搜索,令x最大,y次之,z最小,然后进行剪枝,用set判重 AC代码: #include #include #include using n

piaocoder 487

HDU 4277 USACO ORZ(DFS)

题目链接 用DFS就可以过,判重的时候用map去重的,因为每一条边是最大是10000,用150000进制的3位数就可以表示出现的状态。 数据水了。。。我的代码用的是15000进制就A了。。。卡线过的1300+ms 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> ...

weixin_30762087的博客 88
上一篇: 【二分搜索】 hdu4282 A very hard mathematic problem
下一篇: 【双向链表】 hdu4286 Data Handler
ACM_Ted
博客等级 码龄15年 122粉丝 208原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值