• 个人简介

    cat

    置顶信息

    我的题单:不思进取的小明

    此题征求翻译(P6981)

    OI版少年闰土

    个人简历

    时间 事件
    2018 学习Python
    2020 学习HTML
    2021 学习c++

    代表代码

    //c++
    #include <Windows.h>
    #include<bits/stdc++.h>
    #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) 
      
    using namespace std;
    
    int main() {
    	printf("为了防止电脑宕机,请时刻关注您的电脑内存情况,避免损失一台电脑。\n");
    	Sleep(3000);
    	for(int i=100;i>=0;i--){
    		system("cls");
    		printf("准备中... %3d%%",100-i); 
    		for(int j=0;j<i;j++){
    			printf("I"); 
    		}
    		Sleep(25);
    	}
    	printf("已开始运行,同时按\"A+C\"停止。");
        POINT pt;
        pt.x = 1700;
        pt.y = 0;
        SetCursorPos(pt.x, pt.y);
        while(1){
        	SetCursorPos(500, 500);
        	if(KEY_DOWN('A') and KEY_DOWN('C') ) break;
        	mouse_event(MOUSEEVENTF_LEFTUP, pt.x, pt.y, 0, NULL);
        	mouse_event(MOUSEEVENTF_LEFTDOWN, pt.x, pt.y, 0, NULL);
    	}
    	cout<<endl<<"停止成功,停止过后可能会有短时间的卡顿,请稍后一会即可。"; 
        return 0;
    }
    

    以上为专注助手的代码。


    俺的文学天赋

    毒西瓜

    世界精品毒西瓜, 一口咬下没脑瓜。 没脑瓜,变西瓜, 然后你就凉瓜瓜。 全村一起来吃瓜, 一口咬下没脑瓜。 全村一起成西瓜, 最后全都凉瓜瓜~ 珍爱生命,远离毒西瓜!

    作业词(其三)

    作业没写老师催, 却问老师为甚催。 欲赏天降鹅毛雪, 且看作业满天飞。

    满江红·作业愁

    作业漫天,到处是,试卷成山。望四下,泪流满面,吾苦谁晓?三吨作业沉于土,八篇作文烦死人。莫等闲,白发送黑发,空流泪。此方程,尤未解。作业愁,何时灭?拿火机,烧掉万吨作业!所有作业全撕碎,留下老师敲教鞭。待有钱,拿上原子弹,炸稀碎!



    P6981翻译文本如下[备份]:

    题目描述

    有一些订单。 每个订单是由五个整数组成的:标识符 ID (在所有订单中是唯一的),类型 T(BUY: T=1或SELL: T=2),价格 P,总剩余量 V 和小费量 TV。对于每个订单,交易所还跟踪其剩余量 CV 和优先级 PR 。还有一个交易所GP的全局优先级计数器。交易所还有订单簿,里面储存订单。 交易所生成的交易是整数(买入ID、卖出ID、P、V)的四倍。每个交易都有买入ID和卖出ID——匹配的买入和卖出订单、交易价格 P 和交易量 V 的标识符。

    当交易所收到订单时,它将与订单簿上现有的订单相匹配。具体操作如下:假设收到订单 a,其中TaT_{a}为SELL(即TaT_{a}值为2),我们会在当前订单簿上的所有订单中,寻找订单 b,使得TbT_{b}为BUY(即TbT_{b}值为2)且PbPaP_{b}\ge P_{a}。我们选择价格最高的订单 b,如果有多个订单,则选择优先级最低的订单。如果有这样一个订单 b,那么交易 t 将以交易价格Pt=PbP_{t} = P_{b}生成买入IDt=IDbID_{t} = ID_{b},卖出IDt=IDaID_{t} = ID_{a},交易量Vt=min(Va,CVb)V_{t} = min(V_{a}, CV_{b})Va,Vb,V_{a}, V_{b},CVbCV_{b}均随交易量减少。如果在此之后Vb=0V_{b} = 0,那么将订单 b 从订单簿中删除。如果CVb=0CV_{b} = 0(但是Vb>0V_{b} > 0),那么我们将当前订单量 b 设置为CVb=min(Vb,TVb),CV_{b} = min(V_{b}, TV_{b}),设置PRb=GPPR_{b} = GP ,并增加 GP 。我们继续选择 b 和生成交易的操作,直到Va=0V_{a} = 0或订单簿上没有满足条件的订单 b。在后一种情况下,我们使用CVa=min(Va,TVa)CV_{a} = min(V_{a}, TV_{a})PRa=PR_{a} = GP向订单簿添加订单 a,然后增加 GP。当匹配订单 a 的过程完成时,同一对订单 a 和 b 之间的几笔交易(可能有很多)都统一为单个交易,其交易量等于单个交易量的总和。

    如果Ta=BUYT_{a}=BUY(Ta=1T_{a}= 1),那么寻找满足Tb=T_{b} = SELL 且PbPaP_{b} \le P_{a}的、价格最小、优先级最小的 b。匹配过程的其余部分如上所述,交易具有BUY IDt=IDa,ID_{t} = ID_{a}, SELL IDt=IDb,Pt=Pb,ID_{t} = ID_{b}, P_{t} = P_{b},Vt=min(Va,CVb)V_{t} = min(V_{a}, CV_{b})

    最初订单簿是空的。你将收到交易所收到的多个订单。处理完所有订单后,你需要打印生成的交易和订单簿状态。

    注意:在问题陈述中引入优先级和GP只是为了对算法进行正式描述使其更易理解。实际执行不必跟踪优先级。通常,交易所只需在其订单簿中按每个价格保存每种类型的订单的优先级排序列表。

    输入格式

    输入的第一行包含订单数量n(1n50000)n (1 \le n \le 50 000)。 下面的 n 行每行表示一个订单。每个订单(每行)给出该交易的 ID、T、P、VTV ,其中1ID1000000,T=11 \le ID \le 1 000 000 , T = 1表示BUY, T=2T = 2表示SELL, 1P1000001 \le P \le 100 0001TVV10000000001 \le TV \le V \le 1 000 000 000

    输出格式

    对于每个订单,输出该订单生成的以升序排列 BUY IDSELL ID 的所有交易,每个交易在自己输入时的行上。每笔交易应以空格分隔的四组整数的形式打印为 BuyID SellID P V。保证交易总数不超过 100 000。 在所有交易之后输出一个空白行,再输出订单簿。每一个仍在订单簿的订单应输出它对应的用空格分隔的六个数:ID T P V TV CV,输出时先按 P排序,然后按 PR排序。

    说明/提示

    时间限制:1s,内存限制:256 MB。


    置底信息

    一题集齐五种评测结果

  • 通过的题目

  • 最近活动

题目标签

24CSP-J秋季模拟赛
6
石老板
1
其他
1
排序
1