t2

有三个线程T1,T2,T3,怎么确保它们按顺序执行?

大城市里の小女人 提交于 2019-12-01 23:27:50
在多线程中有多种方法让线程按特定顺序执行,你可以用线程类的join()方法在一个线程中启动另一个线程,另外一个线程完成该线程继续执行。 public class Test { public static void main(String[] args) throws InterruptedException{ Thread t1 = new Thread() { @Override public void run() { for (int i = 1; i < 10; i++) { System.out.println(i); } } }; Thread t2 = new Thread() { @Override public void run() { for(int i = 10; i < 20;i++) { System.out.println(i); } } }; Thread t3 = new Thread() { @Override public void run() { for(int i = 20; i < 30; i++) { System.out.println(i); } } }; t1.start(); t1.join(); t2.start(); t2.join(); t3.start(); t3.join(); } }    来源: https://www

洛谷P3045 [USACO12FEB]牛券Cow Coupons

寵の児 提交于 2019-11-29 14:38:44
题目: 洛谷P3045 [USACO12FEB]牛券Cow Coupons 思路: 贪心 假设先用完所有优惠券,则只有两种决策:以原价购买未选物品中价格最低的;以最低代价退回当前用的一张优惠券,再以优惠价购买未选物品中优惠价最低的。 回退(反悔)操作可以用堆实现,具体实现: 用三个小根堆h1、h2、h3,分别存储未选物品的原价及编号、未选物品的优惠价及编号、已选物品退回优惠券的代价。 每次比较三个堆的堆顶t1、t2、t3,若当前花费加上min(t1,t2+t3)超过m就break,否则选择两种决策中花费较小的并弹掉堆顶。用bool数组记录每个物品是否被选过。 为了方便实现,最初可以在h3中加入k个0。 Code: #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, int> node; const int N = 1e5 + 5; priority_queue< node, vector<node>, greater<node> > h1, h2; priority_queue< ll, vector<ll>, greater<ll> > h3; ll n, k, m, cnt, sum, p[N], c[N]; bool mark[N]; inline void

数据库整理

回眸只為那壹抹淺笑 提交于 2019-11-28 16:33:40
0 数据库的基础知识 安装 修改用户密码 修改字符及编码 数据类型:   数值类型:整型,浮点型   字符串类型:char(定长),varchar(不定长) 两者都是字符串类型,可以在后面接宽度,char在磁盘上的存储空间均为固定的,保存的时候不需要考虑数据长度, 定长在查询的时候也不需要考虑长度,因而读取速度快; varchar插入和查询速度相对较慢,存储数据时,按照数据长度进行存储,每次都需要在存储前计算数据长度,在数据空间 前开辟1或2个字节来存储数据的内存长度。在读取数据的术后需要先读取数据的长度,再读取数据内容。这样的速度较慢, 但是多数情况下可以节省空间   日期:year,date,time,datetime(重点)   枚举类型:enum(“1”,“2”,“3”) 多个备选项选一   集合类型:set(“1”,“2”,“3”) 多个备选项选多个 完整性约束:   not null:不能为空   defult:设置默认值   unique:唯一即不可重复,可以加速查询   primary key:主键,唯一且非空,每个表中都只有一个主键。未指定的时候则系统自动寻找符合两者要求的一项,再无则指定一个看不见的字段为主键。   auto_increment:自增,一般加在主键之后。其步长及初始值均可修改。   foreign key:外键,建立表之间的关系     一对多

python-threading

馋奶兔 提交于 2019-11-28 01:03:16
借用虫师的多线程示例,了解多线程的概念。 #!/usr/bin/python # -*- coding: UTF-8 -*- import threading import time def music(): for i in range(1, 3): print 'music ' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) time.sleep(10) print 'music' + str(i) def sig(): for i in range(1, 3): print 'sig ' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) time.sleep(2) print 'sig' + str(i) def thread(): threads = [] t1 = threading.Thread(target=music, args=()) threads.append(t1) t2 = threading.Thread(target=sig, args=()) threads.append(t2) for t in threads: t.start() for t in threads: t.join() if __name__ == '_

mysql关联表删除数据

依然范特西╮ 提交于 2019-11-27 18:28:36
有时候我们需要删除表中部分内容,或删除一个表中在另一个表中已经存在的内容,可以用以下方法: 1、delete from t1 where 条件; 2、delete t1 from t1, t2 where 条件; 3、delete t1, t2 from t1, t2 where 条件; eg: 删除表t1已经在表t2中存在的数据: DELETE t1 FROM table_1 t1, table_2 t2 WHERE t1.id=t2.id and t1.year=t2.year and t1.month=t2.month; 来源: https://www.cnblogs.com/excellent123/p/11372200.html

CSP2019 游记

爱⌒轻易说出口 提交于 2019-11-27 11:51:47
CSP2019 游记 一切都和多少年前一样,一样的宾馆、一样的天气、一样的下午,两年过去,当年那个坐在普及组只会暴力贪心的小孩子,如今相比又多了多少? Day 0 下午2点30出发,路上地铁+公交,4点左右才到宾馆,和 Akaina 住同一间房间。打开房门,突然恍惚发现,这似乎也是两年前的那间房间。好巧,巧得让我不住地幻想。 一样的夜晚,大家一起围坐吃着冬日里暖腾腾的晚饭,曾经我们是那群无忧傻笑、第一次来参加noip的萌新、学弟,如今我们却也难逃命运,脸上洋溢笑容,肩上却背负着沉沉重压。 晚上颓了几集超跑S, Akaina 借我的手机复习了一晚上的博客。临睡前看了看扩展欧几里得,写了道模板,11:00就睡了。 一样的未眠、一样的整晚幻想。 Day 1 熟悉的黑色黎明,6:40下楼在宾馆楼下那家早餐店吃早饭,还是那家早餐店。 早上本来就吃的少,和 Akaina 一起吃了一笼牛肉包子,喝了碗稀饭,一行人就出发了。 穿过天街,走过天桥,走过熟悉的湖,走过熟悉的图书馆,走过熟悉的草地,来到熟悉的基础实验楼。 和 zpalqm 一个考场,自己坐在最后倒数第二排,靠着墙,很赞,能够看到上一排大佬的屏幕,很赞。 8:30没准时发题,好像ftp服务器出问题了,最后是用U盘一个人一个人拷的…… 拿到题,看看T1,格雷码,题面好长……细读一遍,第一印象大模拟,转念一想会T炸,把长度为1,2