时间限制:1 s 空间限制:128 M 题目描述 有M个小孩到公园玩,门票是1元.其中N个小孩带的钱为1元,K个小孩带的钱为2元.售票员没有零钱,问这些小孩共有多少种排队方法,使得售票员总能找得开零钱.注意:两个拿一元零钱的小孩,他们的位置互换,也算是一种新的排法.(M<=10) 输入 输入一行,M,N,K(其中M=N+K,M<=10). 输出 输出一行,总的排队方案. 样例输入 4 2 2 样例输出 8 思路:思路挺简单的,先不管每个小孩的不一样,先算出来总共排列有多少种,再乘以 n 和 k…
Buy the Ticket Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5511    Accepted Submission(s): 2309 Problem Description The "Harry Potter and the Goblet of Fire" will be on show in the next…
时间限制:1 s 空间限制:128 M 传送门:https://oj.ahstu.cc/JudgeOnline/problem.php?id=1190 题目描述 机房里有若干台电脑,其中有一些电脑已经相互连接.如果A和B通过网线相连,并且B与C也通过网线相连,那么即便A和C之间没有直接的网线相连,也可以认为A和C是相连的.由于机房里的布线比较乱,并不是所有电脑都相互连通,请问在不变动当前布线情况下,最少要购买几条网线才能使得机房所有电脑都两两连通.  输入 多组数据.每组数据第一行为整数N,M.…
JDOJ 1928: 排队买票 JDOJ传送门 Description 一场演唱会即将举行.现有n个歌迷排队买票,一个人买一张,而售票处规定,一个人每次最多只能买两张票.假设第i位歌迷买一张票需要时间Ti(1≤i≤n),队伍中相邻的两位歌迷(第j个人和第j+1个人)也可以由其中一个人买两张票,而另一位就可以不用排队了,则这两位歌迷买两张票的时间变为Rj.现给出n, Ti和Rj,求使每个人都买到票的最短时间. Input 第一行,一个整数n,代表有n个人买票 (n < 104) 第二行有n个数,T…
题目链接:http://acm.hznu.edu.cn/JudgeOnline/problem.php?id=1524 简单分析后可以知道每一个手持两元的小朋友前面,售票员手里至少有一个一元. 假设dp(i, j)表示当有i个1元和j个2元的时候的排队方法(不重复),那么有: dp(i, j)=∑k[0, j]dp(i-1, k), (i >= j) 题干讲n个人和k个人内部不同位置也算新的排列方法.那么最后要乘上A(k,k)*A(n,n) #include <algorithm> #i…
最近在开发SKU模块的时候,遇到这样一个需求,某种商品有N(用未知数N来表示是因为规格的数组由用户制定且随时可以编辑的,所以对程序来说,它是一个未知数)类规格,每一类规格又有M个规格值,各种规格值的组合便是一个型号,比如说,颜色是商品规格的一类,可能的值有红.黄.蓝,而尺码是另一类规格,可能的取值有L.M.那它们的规格组合数为:3*2 = 6,如果再另一类规格是版型,分别为修身和宽松,那就有4 * 2 * 2 = 16种组合了.怎样简单高效地求出这些组合呢? 这类问题首先考虑的方法是用递归,但返…
数据结构实验之队列一:排队买饭 Time Limit: 1000MS Memory limit: 65536K 题目描述 中午买饭的人特多,食堂真是太拥挤了,买个饭费劲,理工大的小孩还是很聪明的,直接奔政通超市,哈哈,确实,政通超市里面也卖饭,有好几种菜,做的比食堂好吃多了,价格也不比食堂贵,并且买菜就送豆浆,吸引了不少童鞋.所以有时吧,人还是很多的,排队是免不了的,悲剧的是超市只有两个收银窗口. 问题是这样的:开始有两队人在排队,现在咱们只研究第一队,现在我们给每个人一个编号,保证编号各不相同…
从Wannacry到WannaRen:螣龙安科2020年4月7日,360CERT监测发现网络上出现一款新型勒索病毒wannaRen,该勒索病毒会加密windows系统中几乎所有的文件,并且以.WannaRen作为后缀.360CERT该事件评定:危险等级为高危,影响面为广泛. 经360安全大脑分析确认,"WannaRen"勒索病毒的作者正是此前借"永恒之蓝"漏洞祸乱网络的"Shadow Brokers"组织.从三年前Wannacry席卷全球,至少3…
题目链接:买票问题 思路:优先队列维护忍耐度最低的人在队首,leave操作ok. vis数组记录从1到n的编号的人们是不是在队列中,top维护队首的人的编号.pop操作搞定. 然后,check操作就是在vis数组中查找当前编号之前有多少个为1的数,树状数组大法好. 啊...数据虽然很大,但是t<=100000,所以可以用map把所有的编号标记为1-100000之间的... dbug全程:开始树状数组求和错误,检查模板没错,后猛然想起,树状数组每次更新i处的值,所有小于maxn的i + lowbi…
1,买票非同步版本 http://www.cnblogs.com/anbylau2130/archive/2013/04/17/3025347.html很详细 public class 多线程2 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Runnable r=new mythread(); Thread t1=new Thread(r); T…
6.3.3  用虚函数实现多态 在理解了面向对象的继承机制之后,我们知道了在大多数情况下派生类是基类的“一种”,就像“学生”是“人”类中的一种一样.既然“学生”是“人”的一种,那么在使用“人”这个概念的时候,这个“人”可以指的是“学生”,而“学生”也可以应用在“人”的场合.比如可以问“教室里有多少人”,实际上问的是“教室里有多少学生”.这种用基类指代派生类的关系反映到C++中,就是基类指针可以指向派生类的对象,而派生类的对象也可以当成基类对象使用.这样的解释对大家来说是不是很抽象呢?没关系,可以…
/** * 1.创建线程数量为5的线程池 * 2.同时运行5个买票窗口 * 3.总票数为100,每隔一秒钟卖一张票 * @author Administrator * */ public class Window { static int tickets = 100; static String string = ""; public static void main(String[] args) { ExecutorService service = Executors.newFix…
题目地址:http://poj.org/problem?id=2828 Sample Input 4 0 77 1 51 1 33 2 69 4 0 20523 1 19243 1 3890 0 31492 Sample Output 77 33 69 51 31492 20523 3890 19243 Hint The figure below shows how the Little Cat found out the final order of people in the queue d…
一.Java线程具有五中基本状态 新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread(); 就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态.处于就绪状态的线程,只是说明此线程已经做好了准备,随时等待CPU调度执行,并不是说执行了t.start()此线程立即就会执行: 运行状态(Running):当CPU开始调度处于就绪状态的线程时,此时线程才得以真正执行,即进入到运行状态.注:…
from threading import Threadimport threadinglock=threading.Lock()num=100#定义买票方法def sale(name): lock.acquire() global num num=num-1 print(name,"买出一张,剩余:",num,"张!") lock.release() while 1==1: if num>0: c1=Thread(target=sale,args=(&quo…
12306.cn买票,难死了,登录登录登录... 现在不用了... js插件+chrome浏览器: /* * 12306 Auto Query => A javascript snippet to help you book tickets online. * 12306 Booking Assistant * Copyright (C) 2011 Hidden * * 12306 Auto Query => A javascript snippet to help you book tick…
一年一度的双十一狂欢节即将来临了,相信各大电商平台也正摩拳擦掌跃跃欲试中.回顾2019年,阿里巴巴双十一狂欢节的单日交易额就达到了2684亿人民币,创造了电商交易历史上新的记录. 当人们愉快地购买着自己喜爱的商品时,却有一群人在默默地为大家的消费"保驾护航".还是拿阿里巴巴去年双十一举例,如此庞大的交易额背后,是单日22亿次的黑产攻击.这也同时表明了,网络安全的保护对人们日常生活的重要性. 随着计算机技术的飞速发展,网络网络已经成为社会发展的重要保证.有很多是敏感信息,甚至是国家机密.…
练习:使用两个不同的线程类实现买票系统 请创建两个不同的线程类.一个测试类以及一个票的管理类. 其中票的管理类用于储存票的数量.两个线程类看作不同的买票方式. 步骤: 1.创建所需的类 App售票线程类 public class Runnable_AppTicketSeller implements Runnable{ @Override public void run() { } } Web售票线程类 public class Runnable_WebTicketSeller implemen…
<html> <head> <title>二维数组排列组合</title> </head> <body> <div id="showDiv"></div> </body> <script type="text/javascript"> var arrays = [ [ '1-1-雨尘', '1-2-芸芸', '1-3-简一', '1-4-乐乐' ]…
<html> <head> <title>二维数组排列组合</title> </head> <body> <div id="showDiv"></div> </body> <script type="text/javascript"> var arrays = [ [ '1-1-雨尘', '1-2-芸芸', '1-3-简一', '1-4-乐乐' ]…
题目背景 Background Ztc真的遇上黄牛了...  题目描述 Description   周末Ztc想去剧场看演出,但是他没有票.这时,救世主Wzj出现了,他慷慨地愿意卖给Ztc一些票.   Wzj手上共有n张票,但每张票的费用都不一样,贪心的Ztc想要得到更多的票,但又想花费的最少,慷慨的Wzj愿意给连续的m张票.   Ztc希望你能帮助他在花钱范围内取得最大的票数.  输入输出格式 Input/output 输入格式:输入文件tickets.in的第一行是2个整数n.f.其中(2≤…
这次的的问题引入的比较深入,如果看了这篇博客,不看下一篇,你会很懵逼. 代码: package com.day13.math; /** * 类说明 :模拟三个窗口同时售票 * @author 作者 : chenyanlong * @version 创建时间:2017年10月29日 */ public class ThreadTest1 { public static void main(String[] args) { //创建三个线程对象 SaleTicket saleTicket1=new…
[题目链接]:http://noi.qz5z.com/viewtask.asp?id=t083 [题解] 可以看一下: 钱数很小; 最大才10000; 即使每张票都是1元; 最多也只能买10000张票; 于是考虑二分最后连续的票数m; 如果存在连续m张票的和小于等于f; 就增大m;否则减小m; 这里判断有没有m张票的和小于等于f需要趋近于O(N)的复杂度; 所以最坏就是 O(log2(f)*N)吧. 实际情况更好一点吧.因为过了; [完整代码] #include <cstdio> #inclu…
CodeForces - 1154F There are n shovels in the nearby shop. The i-th shovel costs ai bourles. Misha has to buy exactly k shovels. Each shovel can be bought no more than once. Misha can buy shovels by several purchases. During one purchase he can choos…
本章绘图要点: turtle模块:python标准库自带的一个模块,可用来绘制二维图形.该模块封装了底层的数据处理逻辑,向外提供了更符合手工绘图习惯的接口函数,适用于绘制对质量.精度要求不高的图形. 递归:当所绘制的图形需要多次嵌套重复计算时,可采用递归策略降低程序的复杂性,减少程序的代码量. 海岸线 独上高原,眺望沧海,海洋与陆地之间,蜿蜒而行的海岸线有多长呢?这个问题似乎很简单.按照传统的几何和数学观点,有形状的东西应该都可以被测量.例如,我们可以通过尺子来测量方桌的长和宽,从而获得它的周长…
github地址:https://github.com/cheesezh/python_design_patterns 迭代器模式 迭代器模式,提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示[DP]. 当需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,就应该考虑使用迭代器模式. 当需要对聚集有多种方式遍历时,也可以考虑使用迭代器模式. 迭代器为遍历不同的聚集结构提供如开始,下一个,是否结束,当前哪一项等统一接口. from abc import ABCMet…
加锁防止多个线程执行同一段代码! /** http://blog.51cto.com/wyait/1916898 * @author * @since 11/10/2018 * 某电影院目前正在上映贺岁大片,共有100张票,而它有3个售票窗口售票,请设计一个程序模拟该电影院售票. * 同步的特点: * 前提: 多个线程 * 解决问题的时候要注意: 多个线程使用的是同一个锁对象 * 同步的好处:同步的出现解决了多线程的安全问题. * 同步的弊端:当线程相当多时,因为每个线程都会去判断同步上的锁,这…
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1801 解决:1096 题目描述: 某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问第几年能够买下这套房子(第一年房价200万,收入N万) 输入: 有多行,每行两个整数N(10<=N<=50), K(1<=K<=20) 输出: 针对每组数据,如果在第20年或者之前就能买下这套房…
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3780 解决:1631 题目描述: 输入n值,使用递归函数,求杨辉三角形中各个位置上的值. 输入: 一个大于等于2的整型数n 输出: 题目可能有多组不同的测试数据,对于每组输入数据, 按题目的要求输出相应输入n的杨辉三角形. 样例输入: 6 样例输出: 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 来源: 2002年清华大学计算机研究生机试真题(第I套) 思路: 用函数递归会超时. 用数组递归,可以…
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:7949 解决:4343 题目描述: 输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串. 输入: 测试数据有多组,输入字符串. 输出: 对于每组输入,输出处理后的结果. 样例输入: bacd 样例输出: abcd 来源: 2010年哈尔滨工业大学计算机研究生机试真题 思路: 基本的排序. 代码: #include <stdio.h> #include <string.h> int main(void…