思考了挺久的一题,主要卡在建图这一块,序列上的问题很难想到图论上。。 可以交换位置是一种关系,那么不能交换也是一种关系:两个不是朋友的点,相对位置保持不变! 不能交换的关系的两点就可以连边,在图上u->v就表示u一定在v前面 但是这样暴力建图显然会炸,我们再进行优化: 我们把动物i(设物种x)和其后 ...
分类:
编程语言 时间:
2020-06-14 00:58:46
阅读次数:
69
一.死锁,互斥锁,递归锁 死锁:只上锁不解锁容易造成死锁现象 互斥锁:加一把锁就对应解一把锁,形成互斥锁 递归锁:用于解决死锁,只是一种应急的处理方法 from threading import RLock 从语法上讲,锁可以互相嵌套,但不要使用 不要因为逻辑问题让上锁分成两次,导致死锁 二.线程队 ...
分类:
编程语言 时间:
2020-06-13 23:44:08
阅读次数:
96
1.背景RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。 2.应用场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式(1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送 ...
分类:
其他好文 时间:
2020-06-13 21:23:14
阅读次数:
50
题意: 给出一串序列,在位置为i的元素上,你可以向i+a[i]或i-a[i]的位置跳跃,前提是这两个位置在1到n的范围内。 请你计算每个节点,跳跃到与这个节点的元素值奇偶性不同的节点的最少步数。 题解: 反向建图,然后设两个超级源点,一个表示奇数,一个表示偶数,然后所有点向这两个源点连边,从这两个源 ...
分类:
其他好文 时间:
2020-06-13 00:47:36
阅读次数:
62
#include<algorithm> #include<cstdio> #include<cstdlib> #include<iostream> #include<cmath> #include<cstring> #include<string> #include<queue> using nam ...
分类:
其他好文 时间:
2020-06-13 00:07:49
阅读次数:
88
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #include<map> #include<vector> #include<queue> #include<set> ...
分类:
其他好文 时间:
2020-06-12 21:47:06
阅读次数:
66
#import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGIN @interface UIImageView (WZGif) /// 加载本地gif /// @param imageName gif名字 - (void)showGifImageLocalWithIma ...
分类:
其他好文 时间:
2020-06-12 13:03:28
阅读次数:
123
题意: 你有n个好友,他们之间有m对关系$(u,v)$表示u和v互相认识,认识没有传递性。 现在你想组织一场热闹的聚会和一场尴尬的聚会,定义如下: 一场热闹度为p的聚会请来了任意多位好友,对于每一位到场的好友来说都有至少p位他认识的好友也参加了聚会,且至少对于一位到场的好友来说现场恰好有p位他认识的 ...
分类:
其他好文 时间:
2020-06-12 12:53:48
阅读次数:
60
原文:https://www.cnblogs.com/Dewumu/p/12067573.html 一、内存上连续存储,节约空间,可以索引访问,读取快,增删慢 Array:在内存上连续分配的,而且元素类型是一样的,可以坐标访问;读取快--增删慢,长度不变 { //Array:在内存上连续分配的,而且 ...
避免使用 Executors 来创建线程。 说明: Executors各个方法的弊端: 1)newFixedThreadPool和newSingleThreadExecutor: 主要问题是堆积的请求处理队列可能会耗费非常大的内存,甚至OOM。 2)newCachedThreadPool和newSc ...
分类:
编程语言 时间:
2020-06-11 21:40:17
阅读次数:
66