Eurasia 是一种纯异步超轻量级协程框架,或者工具集。主要用于高效能 web 开发,也适用于底层网络开发和其他常规协程应用。自带 wsgi、http 和 tcp 服务器,并具有将常规 IO 转换为协程异步的能力,可以让你用最 pythonic 的方式,编写出优美的程序。
示例代码:
from eurasia.web import httpserver, mainloop
def handler(httpfile):
httpfile.start_response('200 OK', [('Content-Type', 'text/plain')])
httpfile.sendall('hello world!')
httpfile.close()
httpd = httpserver('0.0.0.0:8080', handler)
httpd.start()
mainloop()
2021-2022 ICPC, NERC, Northern Eurasia Onsite (Unrated, Online Mirror, ICPC Rules, Teams Preferred) C. Connect the Points 本场比赛的小水题。 题目大意:给定平面上3个点,要求给出至多100条横或竖的线段使3个点连通。 本题最大的难点在于理解题意:我一开始以为这道题的意思是要用这
2019-2020 ICPC, NERC, Northern Eurasia Finals E. Elections (暴力&贪心) 题意:给定 n n n个候选人, m m m个站点,第 n n n个人是反对候选人,每个站点会有 n n n个人投票个数。 要求删除最少的站使得第 n n n个人的总票数不是严格最多的那个人。 思路:暴力 + + +贪心。 我们的目的是使第 n n n个人不是严格最
Problem C. Connections Time limit: 3 seconds Hard times are coming to Byteland. Quantum computing is becoming mainstream and Qubitland is going to occupy Byteland. The main problem is that Byteland do
题目链接 https://codeforces.com/contest/1666 C Connect the Points 题意 给出三个点,找任意条平行x轴或y轴线段,使得线经过3个点,且线段长度和最小。 思路 手玩可以发现,线段和最长可以不超过3点x坐标最大差值加上3点y坐标最大差值,所以我们可以找到y坐标第二大的点,过它作一条从x最小值到x最大值的平行x轴线段,然后从另外两个点作到这个线段的
A. Almost Balanced Tree 考虑一种做法,先分配权值为2的点,每次都将权值为2的点数二等分,若是偶数就往下分,否则自身先占用一个再往下分 权值为2的点分配完后,对整一棵树的空位分配权值为1的点 若不够分,则无解 若多出来了,同样将1的个数二分往下 #include <bits/stdc++.h> using namespace std; typedef long long ll
Easy Chess 队友牛逼构造了一下,好像还有更简单的代码 #include <bits/stdc++.h> #include <cstring> using namespace std; const int MOD=1e9+7; const int INF=0x3f3f3f3f; string ans[70]= {"b1","c1","d1","e1","f1","g1","h1",
A. Nanoassembly 首先用叉积判断是否在指定向量右侧,然后解出法线与给定直线的交点,再关于交点对称即可。 #include<bits/stdc++.h> using namespace std; const int Maxn=300020; typedef long long LL; typedef pair<int,int>pi; struct P{ double x,y; P(
传送门:L. Lexicography 题意 给你一个字符串,你需要把它分成n个长度为m的字符串,要求按字典序由小到大排序后,第k个字符串的字典序尽可能小。答案可能有多种,只需输出任意一种。 思路 首先排序原字符串,假设为 s s s。 先考虑前k个字符串。按列填字符,举个例子: input 6 5 6 aabbbbccddefghzzzzzzzzzzzzzzzz output azzzz azz
I I I 感觉这题非常厉害 为了方便解释,做以下约定 1. 1. 1.将全序列 p 1 , p 2 . . . p n p_1,p_2...p_n p1,p2...pn记为 A A A 2. 2. 2.将 A A A的某个严格子区间记作 B i B_i Bi 题目把 interval 定义为值域大小和区间大小相等的 B i B_i Bi 我们定义maximal interval为不被任
这样的圆应该不会太多。 1.学会了二分取左右边界的方法,记得要取min和max防止越界。 2.学会了一种新的线段树的写法,父节点并不完全包含子节点,相反地,父节点拥有的元素,子节点不会再拥有。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN = 2e5 + 1e2; struct
K. King Kog's Reception 题意:有q个操作,第 i 次操作若为 + t d,表示在 t 这个时刻插入一个耗时为 d 的骑士,若 - i 表示删除第 i 个操作,若 ? t 表示查询如果我要在 t 时刻进行进行活动,至少要排多久的队。 思路:设线段树sum和mx分别表示区间内耗时总长和该区间至少要到mx时刻才能处理完区间内所有骑士,那么两个区间合并时显然mx[ o ]=max
Pastoralism in Ancient Inner Eurasia Pastoralism is a lifestyle in which economic activity is based primarily on livestock. Archaeological evidence suggests that by 3000 B.C., and perhaps even earli
训练系列 D. Digits 题意,给 n n n 个数字 ( n ≤ 1 0 5 n \le 10^5 n≤105),每个数字 a i ≤ 1 0 3 a_i \le 10^3 ai≤103,选出一些数字,使他们的乘积最大,并且满足乘积的末尾数字为 K (K 是输入数据)。输出选择哪些数字。 这里讲解一个可以AC但是精度有可能会有问题(出题人没有卡掉)的解法。乘积最大等价于取对数求和后最大(精
题目链接 题目大意: 给定一个数组a,长度为n,要求从其中选择若干个数使得这些数的乘积的最后一位数等于m的数最大。 题目意思很简单,但由于数据范围较大我们需要对每个数取log将其转化我对数的加法运算。 这样我们可以很容易的看出这道题于01背包之间的联系,从n个数中选择若干个数使其的和最大且乘法的最后一位数为m。 但是由于我们将其转化为了对数运算,所以我们需要聪明的额外考虑到一些事:我们将其转化为加
2021-2022 ICPC, NERC, Northern Eurasia Onsite (Unrated, Online Mirror, ICPC Rules, Teams Preferred) C. Connect the Points 题意:给你三个点,让你添加若干条平行于 x x x轴和 y y y轴的线段,让这三个点在一个连通块上,问在所有的方案中,所有添加的线段长度最小的方案。 思路
D. Digits 题意 给定一个长度为n的数组a和一个k,求数组中最大的元素乘积的尾数为k (每个元素只能用一次),输出方案数 1<= ai <= 1000 1 <= n <= 1e5 0 <= k <= 9 思路 很容易想到是01背包求方案数,但是乘积很大会爆long long,log x 也是满足递增情况,和乘积的递增表示类似,能够很好的把 * 转换为 +。 代码 #includ
在常用的并发模型中,多进程、多线程、分布式是最普遍的,不过近些年来逐渐有一些语言以first-class或者library的形式提供对基于协程的并发模型的支持。其中比较典型的有Scheme、Lua、Python、Perl、Go等以first-class的方式提供对协程的支持。 同样地,Kotlin也支持协程。 本章我们主要介绍: 什么是协程 协程的用法实例 挂起函数 通道与管道 协程的实现原理 c
本文向大家介绍轻量级javascript 框架Backbone使用指南,包括了轻量级javascript 框架Backbone使用指南的使用技巧和注意事项,需要的朋友参考一下 Backbone 是一款基于模型-视图-控制器 MVC 模式的轻量级javascript 框架 ,可以用来帮助开发人员创建单页Web应用。 借助Backbone 我们可以使用REST的方式来最小化客户端和服务器间的数据传输,
本文向大家介绍前端轻量级MVC框架CanJS详解,包括了前端轻量级MVC框架CanJS详解的使用技巧和注意事项,需要的朋友参考一下 选择正确的库 创建一个JS APP没有好的工具是很有难度的,jQuery只是操作DOM的库,没有提供任何创建APP的基础,这就是为什么我们要一个类似CanJS的专门的库。 CanJS 是一个轻量级的MVC库,提供你创建一个JS APP所需的工具。 CanJS 是一个轻
主要内容:使用普通函数创建 goroutine,使用匿名函数创建goroutine在编写 Socket 网络程序时,需要提前准备一个线程池为每一个 Socket 的收发包分配一个线程。开发人员需要在线程数量和 CPU 数量间建立一个对应关系,以保证每个任务能及时地被分配到 CPU 上进行处理,同时避免多个任务频繁地在线程间切换执行而损失效率。 虽然,线程池为逻辑编写者提供了线程分配的抽象机制。但是,如果面对随时随地可能发生的并发和线程处理需求,线程池就不是非常直观和方便了。能否
问题内容: 是否有一个提供发布/订阅模式的Java轻量级框架? 一些理想的功能 支持泛型 向发布者注册多个订阅者 API主要是接口和一些有用的实现 完全不需要内存,持久性和事务保证。 我了解JMS,但这对我来说太过分了。发布/订阅的数据是文件系统扫描的结果,扫描结果被馈送到另一个组件进行处理,然后在将其馈给另一个组件之前进行处理,依此类推。 编辑:所有在同一过程中。bean的PropertyCha
本文向大家介绍超好用轻量级MVC分页控件JPager.Net,包括了超好用轻量级MVC分页控件JPager.Net的使用技巧和注意事项,需要的朋友参考一下 JPager.Net MVC好用的轻量级分页控件,好用到你无法想象,轻量到你无法想象。 JPager.Net MVC好用的轻量级分页控件,实现非常简单,使用也非常简单。 JPager.Net MVC好用的轻量级分页控件,代码精心推敲,经多