zoj 1025 Wooden Sticks

题目见:zoj 1025

先对木棒按照长度进行排序,然后再计算对应重量构成的数组中非递减子序列的个数。

相关代码(悲催的是该代码不能在poj1065 和hdoj1051 下通过,懒得看具体是什么原因了)

/* zoj 1025 Wooden sticks */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define MAX 5010struct stick{int length;int weight;
};
typedef struct stick stick;int cmpStick(const void * a, const void * b);
int countSubsequence(int a[], int length);
int main(void)
{int caseNum,n,i;stick sticks[MAX];int weights[MAX];scanf("%d", &caseNum);while(caseNum-- > 0){scanf("%d", &n);for(i = 0; i < n; i++){scanf("%d %d", &sticks[i].length,&sticks[i].weight);}qsort(sticks,n,sizeof(stick),cmpStick);for(i = 0; i < n; i++)weights[i] = sticks[i].weight;printf("%d\n", countSubsequence(weights,n));}return 0;
}
int cmpStick(const void *a, const void *b)
{stick x,y;x = *(stick  const *)a;y = *(stick const *)b;if(x.length > y.length)return 1;elsereturn 0;
}
int countSubsequence(int a[], int length)
{int isVisited[MAX];int i,count,prevIndex;int resCount = 0;memset(isVisited,0,sizeof(isVisited));for(count =0; count < length; ){for(i = 0; i < length; i++)if(!isVisited[i]){prevIndex = i;isVisited[i] = 1;count++;break;}if(i == length)break;for(i = prevIndex+1; i < length; i++)if(!isVisited[i]){if(a[prevIndex] <= a[i]){isVisited[i] = 1;count++;prevIndex = i;}}resCount++;}return resCount;
}
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546067.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win7安装python

2019独角兽企业重金招聘Python工程师标准>>> 官网下载 python 安装包&#xff0c;一个 .msi 文件&#xff0c;双击安装 右键[计算机]-属性-高级系统设置-环境变量&#xff0c;在[系统变量]中找到 Path 变量&#xff0c;双击&#xff0c;在值后面添加 python 的安装路…

漫画:Java如何实现热更新?

Arthas&#xff08;阿尔萨斯&#xff09;是 Alibaba 开源的一款 Java 诊断工具&#xff0c;使用它我们可以监控和排查 Java 程序&#xff0c;然而它还提供了非常实用的 Java 热更新功能。所谓的 Java 热更新是指在不重启项目的情况下实现代码的更新与替换。使用它可以实现不停机…

十进制数转换为十六进制数_十进制数制到十六进制数制的转换

十进制数转换为十六进制数Conversion of decimal number system into hexadecimal number system can be done by successively dividing an integral part by 16 till the quotient is 0 and then reading the remainder of all in the bottom to the top manner, where the b…

编译器开发相关资源

开发编译器相关的一些网络资源&#xff1a; how difficult is it to write a compiler? wikipedia compiler compiler 101 code competetion pl/0 (couses &#xff0c;source code ,another source code )and pl/I language the gentle compiler construction sys…

计算机二级考试C++考试大纲

基本要求: 1. 掌握C语言的基本语法规则。 2. 熟练掌握有关类与对象的相关知识。 3. 能够阅读和分析C程序。 4. 能够采用面向对象的编程思路和方法编写应用程序。 5. 能熟练使用Visual C6.0集成开发环境编写和调度程序。 考试内容&#xff1a; 一、 C语言概述 1. 了解C语言的基本…

自动化运维工具Saltstack详细介绍

Saltstack是一个新的基础设施管理工具。目前处于快速发展阶段&#xff0c;可以看做是pssh弱化的Puppet的组合。间接的反映出了saltstack的两大功能&#xff1a;远程执行和配置管理。Saltstack使用Python开发&#xff0c;是一个非常简单易用和轻量级的管理工具。由Master和Minio…

为什么建议你使用枚举?

枚举是 JDK 1.5 新增的数据类型&#xff0c;使用枚举我们可以很好的描述一些特定的业务场景&#xff0c;比如一年中的春、夏、秋、冬&#xff0c;还有每周的周一到周天&#xff0c;还有各种颜色&#xff0c;以及可以用它来描述一些状态信息&#xff0c;比如错误码等。枚举类型不…

数据结构树二叉树计算节点_查找二叉树中叶节点的数量 数据结构

数据结构树二叉树计算节点Algorithm: 算法&#xff1a; One of the popular traversal techniques to solve this kind of problems is level order tree traversal (Read: Level Order Traversal on a Binary Tree) where we use the concept of BFS. 解决此类问题的一种流行…

重磅!阿里推出国产开源JDK!

简介Alibaba Dragonwell 是一款免费的, 生产就绪型Open JDK 发行版&#xff0c;提供长期支持&#xff0c;包括性能增强和安全修复。阿里巴巴拥有最丰富的Java应用场景&#xff0c;覆盖电商&#xff0c;金融&#xff0c;物流等众多领域&#xff0c;世界上最大的Java用户之一。Al…

部分排序算法c语言实现

代码比较粗糙&#xff0c;主要是用于对排序算法的理解&#xff0c;因而忽略了边界和容错处理相关代码。 相关文档&#xff1a; Insert Sort ,Bubble Sort ,Select Sort ,Shell sort ,Quick sort ,Heap sort ,Merge sort on Wikipedia algorithm Repository :C语言实现部分排…

计算机等级考试二级ACCESS考试大纲

公共基础知识部分30分 专业语言部分 70分 基本要求 1. 具有数据库系统的基础知识。 2. 基本了解面各对象的概念。 3. 掌握关系数据库的基本原理。 4. 掌握数据库程序设计方法。 5. 能使用Access建立一个小型数据库应用系统。 考试内容 一、 数据库基础知识 1. 基本概念&#xf…

C语言 常用单词

main 主要的 printf(print format)格式输出 include , return ,if ,else ,switch ,case 机箱&#xff1b;案例&#xff1b; default 默认 ,for while break 暂停&#xff1b;间断&#xff1b; continue math int char 字符&#xff1b; …

ipv6寻址_有类和无类寻址:IPV4寻址| 计算机网络

ipv6寻址1)分类寻址 (1) Classful Addressing) IPv4 addressing used the concept of classes. This architecture is known as classful addressing. IPv4寻址使用类的概念。 这种体系结构称为类寻址 。 In the classful addressing, there are 5 classes in which the addre…

windows没有软盘 怎么解决

1这种情况我遇到过。 现象为&#xff1a;启动快到桌面之前&#xff0c;会出现红叉错误提示框&#xff0c;标题为“Windows-没有软盘”&#xff0c;内容为“驱动器中没有软盘。请在\Device\Harddisk1\DR5 中插入软盘”&#xff0c;有“取消”、“重试”、“继续”三个按钮。点“…

forth编程语言

forth 是一种基于栈的程序设计语言&#xff0c;其语法使用逆波兰表达式&#xff08;即后缀表达式&#xff09;&#xff0c;forth的黄金期是上世纪80年代&#xff0c;现在使用的人很少&#xff0c;但是却非常的有趣。还有一个以forth为基础开发的语言factor ,它增加了许多当代的…

安装TPCC-MySQL报错

2019独角兽企业重金招聘Python工程师标准>>> 安装TPCC-MySQL做压力测试&#xff0c;由于TPCC-MySQL是bzr工具进行版本控制的&#xff0c;所以要先安装bzr [rootmha_backup /root] #rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.r…

enumerate_Java Thread类的static int enumerate(Thread [] th)方法与示例

enumerate线程类static int枚举(Thread [] th) (Thread Class static int enumerate(Thread[] th)) This method is available in package java.lang.Thread.enumerate(Thread[] th). 软件包java.lang.Thread.enumerate(Thread [] th)中提供了此方法。 This method is used to …

自由职业的前半年,我是如何度过的?

生活中所受的苦&#xff0c;终会以一种形式回归。我是一个后知后觉的人&#xff0c;从 2009 年毕业到现在&#xff0c;已经有 11 年的光景了&#xff0c;参加工作的前几年我从没想过要快速的提升自己的技能&#xff0c;对待工作也没有全力以赴&#xff0c;这样的迷茫和随大流的…

Microsoft Visual C++ Runtime Library 错误解决办法

今天安装软件时&#xff0c;出现“Microsoft Visual C Runtime Library”错误&#xff0c;网上查了下解决方法&#xff0c;得以解决。现在分享下&#xff0c;给碰到相同问题的朋友。微软官方解释如下&#xff1a;症状在 Microsoft Windows XP 中运行自定义 Microsoft Visual C …

Eucalyptus常用查询命令

前言&#xff1a; Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems &#xff08;Eucalyptus&#xff09; 是一种开源的软件基础结构&#xff0c;用来通过计算集群或工作站群实现弹性的、实用的云计算。它最初是美国加利福尼亚大学 Santa …