Problem Description

Input

Output

Case #i:

Sample Input
2
4
3 0 3 3
4 0 4 3
2 1 5 1
2 2 5 2
4
3 0 3 3
4 0 4 3
2 1 5 1
2 2 -5 2

Sample Output
Case #1:
1
Case #2:
0

Wooden Sticks 木棒的问题
Description There is a pile of n wooden sticks. The length and weight of each stick are known in advance. The sticks are to be processed by a woodworking machine in one by one fashion. It needs some time, called setup time, for the machine to prepare processing a stick. The setup times are associated with cleaning operations and changing tools and shapes in the machine. The setup times of the woodworking machine are given as follows: (a) The setup time for the first wooden stick is 1 minute. (b) Right after processing a stick of length l and weight w , the machine will need no setup time for a stick of length l' and weight w' if l <= l' and w <= w'. Otherwise, it will need 1 minute for setup. You are to find the minimum setup time to process a given pile of n wooden sticks. For example, if you have five sticks whose pairs of length and weight are ( 9 , 4 ) , ( 2 , 5 ) , ( 1 , 2 ) , ( 5 , 3 ) , and ( 4 , 1 ) , then the minimum setup time should be 2 minutes since there is a sequence of pairs ( 4 , 1 ) , ( 5 , 3 ) , ( 9 , 4 ) , ( 1 , 2 ) , ( 2 , 5 ) . Input The input consists of T test cases. The number of test cases (T) is given in the first line of the input file. Each test case consists of two lines: The first line has an integer n , 1 <= n <= 5000 , that represents the number of wooden sticks in the test case, and the second line contains 2n positive integers l1 , w1 , l2 , w2 ,..., ln , wn , each of magnitude at most 10000 , where li and wi are the length and weight of the i th wooden stick, respectively. The 2n integers are delimited by one or more spaces. Output The output should contain the minimum setup time in minutes, one per line. Sample Input 3 5 4 9 5 2 2 1 3 5 1 4 3 2 2 1 1 2 2 3 1 3 2 2 3 1 Sample Output 2 1 3
POJ 1011 Sticks (dfs) 我照着题解敲的，哪位大佬看看为什么WA了
[code=c]#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int v[70]; int a[70]; int n; int ans; int dfs(int index, int sum)//下标和当前木棒长度的总和 { sum += a[index]; int l=sum; if (sum == ans)return l;//找到就返回 if (sum > ans)return l;//大了就说明选择的这根木棒不对 返回 for (int i = index + 1; i < n; i++)//将所以可以选择的木棒枚举一遍 { if (v[i] == 0) { v[i] = 1; l=dfs(i, sum); if (l>ans)//大了就找下一个 { v[i] = 0; while (1)//去除与这个长度相等的木棒 因为肯定也不满足 { if (a[i + 1] != a[i])break; i++; } } else if (l < ans) { return l; }//如果长度不够 就直接结束dfs 因为后面的木棒长度更小 永远也得不到结果 else return l;//找到了 就退出dfs } } return l; //枚举完了长度还不够 退出dfs } bool cmp(int a, int b) { return a > b; } int main() { while (cin >> n) { if (n == 0)break; int k=0; for (int i = 0; i < n; i++) { cin >> a[i]; k+=a[i]; //所有的和 作为结束的条件 } sort(a, a + n, cmp);//从大到小排序 for (ans = a[0];ans<k; ans++)//结果一定不小于最长的木棒 { bool flag = true;//判断是否找到循环退出的条件 memset(v, 0, sizeof(v));//每次没找到都要置零 for (int j = 0; j < n; j++)//把每个木棒遍历一遍是否能找到答案 { if (v[j] == 0) { v[j] = 1; if (dfs(j, 0) != ans) { flag = false; break; }//如果不对就退出这个循环 看下一个结果是否正常 } } if (flag == true)break; } cout << ans << endl; } return 0; }[/code]

《奇巧淫技》系列-python！！每天早上八点自动发送天气预报邮件到QQ邮箱

YOLO 是我非常喜欢的目标检测算法，堪称工业级的目标检测，能够达到实时的要求，它帮我解决了许多实际问题。 这就是 YOLO 的目标检测效果。它定位了图像中物体的位置，当然，也能预测物体的类别。 之前我有写博文介绍过它，但是每次重新读它的论文，我都有新的收获，为此我准备写一个系列的文章来详尽分析它。这是第一篇，从它的起始 YOLOv1 讲起。 YOLOv1 的论文地址：https://www.c

20行Python代码爬取王者荣耀全英雄皮肤

2019年互联网寒冬，大批企业开始裁员，下图是网上流传的一张截图： 裁员不可避免，那如何才能做到不管大环境如何变化，自身不受影响呢？ 我们先来看一个有意思的故事，如果西游记取经团队需要裁员一名，会裁掉谁呢，为什么？ 西游记团队组成： 1.唐僧 作为团队teamleader，有很坚韧的品性和极高的原则性，不达目的不罢休，遇到任何问题，都没有退缩过，又很得上司支持和赏识(直接得到唐太宗的任命，既给
Python语言高频重点汇总
Python语言高频重点汇总 GitHub面试宝典仓库——点这里跳转 文章目录Python语言高频重点汇总**GitHub面试宝典仓库——点这里跳转**1. 函数-传参2. 元类3. @staticmethod和@classmethod两个装饰器4. 类属性和实例属性5. Python的自省6. 列表、集合、字典推导式7. Python中单下划线和双下划线8. 格式化字符串中的%和format9.

ES6基础-ES6的扩展

Python爬虫爬取淘宝，京东商品信息

Java工作4年来应聘要16K最后没要,细节如下。。。

Python爬虫精简步骤1 获取数据

CPU对每个程序员来说，是个既熟悉又陌生的东西？ 如果你只知道CPU是中央处理器的话，那可能对你并没有什么用，那么作为程序员的我们，必须要搞懂的就是CPU这家伙是如何运行的，尤其要搞懂它里面的寄存器是怎么一回事，因为这将让你从底层明白程序的运行机制。 随我一起，来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说，我们首先就要搞明白它是怎么回事，也就是它的内部构造，当然，CPU那么牛的一个东

2020年1月17日，国家统计局发布了2019年国民经济报告，报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏，但是很多人并没有看到我国复杂的人口问题：老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧！ 更多有趣分析教程，扫描下方二维码关注vx公号「裸睡的猪」 即可查看！ 一、背景 1.人口突破14亿 2020年1月17日，国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位，可以用于验证表单，制作特效等功能，它是一种描述语言，也是一种基于对象（Object）和事件驱动并具有安全性的脚本语言 ，语法同java类似，是一种解释性语言，边执行边解释。 JavaScript的组成： ECMAScipt 用于描述: 语法，变量和数据类型，运算符，逻辑控制语句，关键字保留字，对象。 浏览器对象模型（Br
Qt实践录：开篇

B 站上有哪些很好的学习资源?

Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题，让视音频内容可以不依赖用户安装App，就能进行播放以及在社交平台进行传播。在视频业务大数据平台中，播放数据的统计分析非常重要，所以Web播放器在使用过程中，需要对其内部的数据进行收集并上报至服务端，此时，就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢？ 01 监听事件明细表 名
3万字总结，Mysql优化之精髓

1. 传统事件绑定和符合W3C标准的事件绑定有什么区别？ 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意： 如果给同一个元素绑定了两次或多次相同类型的事件，那么后面的绑定会覆盖前面的绑定 （不支持DOM事...
Python学习笔记（语法篇）

[Pyhon疫情大数据分析] 一.腾讯实时数据爬取、Matplotlib和Seaborn可视化分析全国各地区、某省各城市、新增趋势

2020程序员面试必备！58道精选面试题，这样学习，大厂没问题！

Python原来这么好学-1.1节:在windows中安装Python

HTML零基础入门教程（十分详细）、HTML详细教程、HTML基础

27岁的那年，我问一个本科毕业就从事软件行业的同学，我说：“我准备去读研究生，30岁的时候才毕业，是不是有点儿晚？”他告诉我：“30岁是技术最好的时候。” 我吓了一跳，但是我实在不想继续当初中计算机老师了，有什么意思呢？虽然感觉前面的路可能会有困难，但还是硬着头皮去读吧。终于，2011年1月毕业了，2011年2月开始进公司，到现在，2020年2月，刚好9年。9年，也应该小有成就...

IT小公司管理的几点思考