P3528 [POI2011]PAT-Sticks】的更多相关文章

题目概述 题目描述 给出若干木棍,每根木棍有特定的颜色和长度.问能否找到三条颜色不同的木棍构成一个三角形. (注意这里所说的三角形面积要严格大于\(0\)) 输入格式 第一行给出一个整数\(k\),表示颜色的种数.这k种颜色被标号为\(1\)至\(k\). 接下来\(k\)行,第\(i+1\)描述颜色为\(i\)的木棍的信息. 首先一个整数\(N_i\)表示颜色为\(i\)的木棍的数量. 接下来\(N_i\)个整数,表示这\(N_i\)根木棍各自的长度. 输出格式 你的程序应该仅输出一行 如果有…
2529: [Poi2011]Sticks Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 257  Solved: 133[Submit][Status][Discuss] Description Little Johnny was given a birthday present by his grandparents. This present is a box of sticks of various l…
题目链接 题意就是给你一堆线段,然后线段有长度和颜色,让你选三条组成一个三角形,这三条线段颜色不能一样 题解: 做法:贪心 首先按照长度给这些线段排序一遍 然后贪心的去选,对于已经选出来同种颜色的,就拿它去替换同种颜色 不然就替换最小的 这样都能为后面创造更多的选择 复杂度$O(n)$ #include <bits/stdc++.h> #define ll long long #define inf 0x3f3f3f3f #define il inline #define in(a) a=re…
题目链接 BZOJ2529 题解 要组成三角形,当且仅当最长边长度小于另两条边之和 我们就枚举最长边,另两条边当然是越大越好 我们将所有边排序,从小枚举并记录各个颜色的最长边 当枚举到当前边时,找到除了当前颜色外其它颜色最长边的最大值和次大值,检查一下加起来是否大于当前边长度 复杂度\(O(nlogn + nk)\) #include<algorithm> #include<iostream> #include<cstring> #include<cstdio&g…
题目描述 给出若干木棍,每根木棍有特定的颜色和长度.问能否找到三条颜色不同的木棍构成一个三角形.(注意这里所说的三角形面积要严格大于0) 输入 第一行给出一个整数k(3<=k<=50),表示颜色的种数.这k种颜色被标号为1至k.接下来k行,第i+1描述颜色为i的木棍的信息.首先一个整数Ni(1<=Ni<=10^6)表示颜色为i的木棍的数量.接下来Ni个整数,表示这Ni根木棍各自的长度.所有木棍的长度<=10^9.总木棍数量<=10^6. 输出 你的程序应该仅输出一行如果…
BZOJ_2529_[Poi2011]Sticks_贪心 Description Little Johnny was given a birthday present by his grandparents. This present is a box of sticks of various lengths and colours. Johnny wonders if there are three sticks in the set he has been given that would…
POI2011题解 2214先咕一会... [BZOJ2212][POI2011]Tree Rotations 线段树合并模板题. #include<cstdio> #include<algorithm> using namespace std; int gi(){ int x=0,w=1;char ch=getchar(); while ((ch<'0'||ch>'9')&&ch!='-') ch=getchar(); if (ch=='-') w=0…
Sticks bzoj-2529 Poi-2011 题目大意:给你n根木棒,每种木棒有长度和颜色,颜色共有k种,求满足条件的3根木棒使得这3根木棒颜色互不相同且可以围成三角形. 注释:$1\le n \le 10^6$,$1\le k\le 50$. 想法:我们这么想:假设当前木棍是满足题意的三根木棍中的最大者,那么剩下两根木棍一定是越大越好.所以,将所有木棍按长度排序,每次记录一下连续的三个长度不同的三根木棍,然后比较.知道有答案位置. 最后,附上丑陋的代码... ... #include <…
博客出处:http://blog.csdn.net/zhoufenqin/article/details/50497791 题目出处:https://www.patest.cn/contests/pat-a-practise 1001 题意:给出a+b,计算c=a+b,将c输出时每三个数加一个“,” 思路:数据范围比较小,根据特殊的数据范围,也可特殊求解,不解释 #include<iostream> #include<cstdio> #include<cstring>…
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 15564    Accepted Submission(s): 6405 Problem Description There is a pile of n wooden sticks. The length and weight of each stick a…