NOIP 2016【蚯蚓】

好吧,我承認我是個智障……
這道題一眼看上去就是個堆,然而實際上有單調性。
注意到,如果 \(q = 0\) 的話,將蚯蚓的左右兩邊分開丟進兩個隊列中,則兩個隊列都是單調不增的,因為每次取出的蚯蚓長度單調不增。
對于 \(q \neq 0\),因為除了切開的兩只,所有蚯蚓長度都增加了,我們維護這個增加的值,表示三個隊列(包括初始隊列)中所有的元素都要加上這個值才是真實的長度。但是這樣剛切開的蚯蚓的左右兩邊長度就多增加了 \(q\),所以我們把他們的長度減 \(q\) 再丟進兩個隊列中。這樣就保證了每個元素加上這個元素后就是真實的長度。
至于單調性,和 \(q=0\) 相比,每次只有最小的兩個變得更小,而總體加上一個數是不影響單調性的,所以仍然是單調不增的。
我是個智障是因為我代碼里有這樣一句話:

memset(a+1,-127,sizeof(a));

于是數組越界就炸飛天了,別問我為什么,我該吃藥了……

#include <bits/stdc++.h>
using namespace std;#define ll long long
#define RG register
#define N 7100005inline int gi()
{RG int ret; RG char ch;ret=0, ch=getchar();while (ch < '0' || ch > '9')ch=getchar();while (ch >= '0' && ch <= '9')ret=(ret<<3)+(ret<<1)+ch-'0', ch=getchar();return ret;
}int a[N],l[N],r[N],ha,hl,hr,ta,tl,tr,now;inline void get()
{if (a[ha] > l[hl])if (a[ha] > r[hr])now=a[ha++];elsenow=r[hr++];elseif (l[hl] > r[hr])now=l[hl++];elsenow=r[hr++];
}int main()
{
//  freopen("earthworm.in","r",stdin);
//  freopen("earthworm.out","w",stdout);int n,m,q,u,v,t,i,inc,le,ri;n=gi(), m=gi(), q=gi(), u=gi(), v=gi(), t=gi();memset(a,-127,sizeof(a));memset(l,-127,sizeof(l));memset(r,-127,sizeof(r));for (i=1; i<=n; ++i)a[i]=gi();sort(a+1,a+n+1,greater <int> ());ha=hl=hr=1, tl=tr=0, ta=n, inc=0, i=1;n+=m;while (m--){get();now+=inc;if (i == t)printf("%d ",now), i=0;le=(ll)now*u/v, ri=now-le;inc+=q, i++;le-=inc, ri-=inc;l[++tl]=le, r[++tr]=ri;}putchar('\n');i=1;while (n--){get();if (i == t)i=0, printf("%d ",now+inc);i++;}return 0;
}

轉載于:https://www.cnblogs.com/y142857/p/7650884.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251726.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251726.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251726.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ajax異步(客戶端測試)

客戶端測試&#xff1a;GET方法實現Ajax異步 var request new XMLHttpRequest(); request.open("GET","sever.php?number" document.getElementById("keyword").value); request.send(); request.onreadystatechange function(){ if(request.…

VS 添加文件添加文件成鏈接

轉載于:https://www.cnblogs.com/wsxkit/p/10907585.html

設計模式——3.觀察者模式

觀察者模式&#xff08;Observer&#xff09; 觀察者模式&#xff08;Observer&#xff09;簡介&#xff1a; 定義一個一對多的依賴關系&#xff0c;讓多個觀察者對象監聽某個主題對象&#xff0c;當主題對象的狀態發生改變時&#xff0c;主題對象則通知所有的觀察者對象&#…

Android 長按照片保存 工具類

2019獨角獸企業重金招聘Python工程師標準>>> public class ImgUtils {public static void saveImageToGallery(Context context, Bitmap bmp) {final String[] items new String[] { "保存圖片"};//圖片轉成Bitmap數組final Bitmap[] bitmap new Bitmap…

反爬機制

一.通過headers反爬蟲&#xff1a; Basic Auth這是一種古老的、不安全的用戶驗證方式&#xff0c;一般會有用戶授權的限制&#xff0c;會在headers的Autheration字段里要求加入用戶名密碼(明文)&#xff0c;如果驗證失敗則請求就會失敗&#xff0c;現在這種認證方式正在被淘汰。…

knockout + easyui = koeasyui

在做后臺管理系統的同學們&#xff0c;是否有用easyui的經歷。雖然現在都是vue、ng、react的時代。但easyui&#xff08;也就是jquery為基礎&#xff09;還是占有一席之地的。因為他對后端開發者太友好了&#xff0c;太熟悉不過了。要讓一個后端開發者來理解vue或者是react的VN…

輕量社交APP系統ThinkSNS 簡 權威發布 限時惠購

2019獨角獸企業重金招聘Python工程師標準>>> 伴隨國內外創業風潮、AI、區塊鏈等互聯網軟件科技領域的高速發展&#xff0c;2019年&#xff0c;ThinkSNS軟件品牌迎來十周年后的新紀元。作為下一個階段的產品元年&#xff0c;官方于2019年5月正式發售輕量核心社交APP系…

linux下安裝oracle sqlplus以及imp、exp工具

一、下載oracle 11g sqlplus軟件 linux 64位操作系統&#xff0c;oracle安裝包地址 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm  oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_6…

在operator =中要處理“自我賦值”

防止自我賦值很有必要 Widget w; w w; a[i] a[j]; //a[i]和a[j]實際上指向同一個元素 *pi *pj; //pi和pj實際上指向同一個元素 自我賦值的危害&#xff1a; Widget { private:Test *p; }; Widget &Widget::operator(const Widget &w) {delete p;p new int (*w.p);r…

新添加磁盤分區后,找不到新分區

問題&#xff1a;在Vcent中擴容磁盤容量&#xff0c;登錄虛擬機fdisk /dev/sda分區后&#xff0c;找不到新分區。 lsblk或者 df -TH fdisk /dev/sda p 嘗試解決辦法&#xff1a; cd /sys/class/scsi_host/ ls echo "- - -" > /sys/class/scsi_host/host0/scan (中…

Linux一些指令

備忘。。 ~/.bashrc 環境變量文件 xshell5 與本機文件傳輸 rz接受 sz filename 傳輸 watch -n 2 nvidia-smi 監視gpu 狀態wget 下載單個文件wget http://images.cocodataset.org/zips/train2014.zip給.sh文件添加x執行權限 比如以hello.sh文件為例&#xff0c;chmod ux hello…

C# 通過反射獲取方法/類上的自定義特性

1.所有自定義屬性都必須繼承System.Attribute 2.自定義屬性的類名稱必須為 XXXXAttribute 即是已Attribute結尾 自定義屬性QuickWebApi [AttributeUsage(AttributeTargets.Method, Inherited false, AllowMultiple true)]public class QuickWebApiAttribute: Attribute{publ…

Spring Cloud Zuul網關(快速搭建)

zuul 是netflix開源的一個API Gateway 服務器, 本質上是一個web servlet應用。 在云平臺上提供動態路由&#xff0c;監控&#xff0c;彈性&#xff0c;安全等邊緣服務的框架。相當于是設備和 Netflix 流應用的 Web 網站后端所有請求的前門。主要功能是路由轉發和過濾器。 Zuul可…

10.13 上午 考試

T1 直接二分就好了 #include <cstdio> #include <cstring> #include <iostream> #include <cmath> #include <cstdlib> #include <algorithm> #define ll long long #define mem(a,b) memset(a,b,sizeof(a)) using namespace std;ll n; in…

前端安全之token

前端可以通過cookie以js的方式存取token&#xff0c;并且實現用戶的登錄登出以及token的超時操作&#xff0c;但這樣做并不安全&#xff0c;無法避免跨站腳本的攻擊&#xff0c;如果對項目的安全性要求比較高&#xff0c;應該在服務端開啟http only為true&#xff0c;通過服務端…

gbk 轉 UTF-8

iconv命令 gbk 轉 UTF-8 -----linux gbk 轉 UTF-8-------- iconv 用法 iconv -f "gbk" -t "utf-8" < infile > outfile 或者 piconv -f "gbk" -t "utf-8" < infile > outfile iconv -f utf-8 -t GBK 123456.txt 對傳文件…

Mybatis中輸入輸出映射和動態Sql

一、輸入映射我們通過配置parameterType的值來指定輸入參數的類型&#xff0c;這些類型可以是簡單數據類型、POJO、HashMap等數據類型1、簡單類型2、POJO包裝類型①這是單表查詢的時候傳入的POJO包裝類型&#xff0c;即可以直接傳入實體類&#xff0c;但是當多表查詢的時候&…

css純字母或者字母換行顯示

white-space:normal; word-break:break-all;轉載于:https://www.cnblogs.com/mmykdbc/p/7661009.html

javascript使用btoa和atob來進行Base64轉碼和解碼

javascript中如何使用Base64轉碼 let str javascript;let btoaStr window.btoa(str); //轉碼結果 amF2YXNjcmlwdAconsole.log(btoaStr);console.log(window.atob(btoaStr)); //解碼結果 javascriptBase64轉碼的對象只能是字符串, var str "China&#xff0c;中國"…

珠寶條碼打印掃描解決方案

隨著人們生活水平的逐步提高&#xff0c;珠寶消費日益增長&#xff0c;據統計&#xff0c;我國珠寶首飾零售規模超過7000億&#xff0c;過去5年復合增長為15%&#xff0c;是規模增長最為迅速的可選消費品類之一。面對千億級的消費市場&#xff0c;珠寶行業競爭激烈&#xff0c;…