bitset+暴力——校門外的樹(增強版)
題目來源
洛谷1276校門外的樹(增強版)
https://www.luogu.org/problem/show?pid=1276
思路
bitset大法好!
洛谷的資料水我會說嗎?!
純模擬就好了:)
g[i]記錄經過包括挖和種的操作後i位置的狀態(是否有樹)
k[i]記錄經過挖操作後i位置的狀態
g.count()為剩下的包括樹苗和原樹的樹的個數
k.count()為剩下的原樹的個數
g.count()-k.count()即為剩下的樹苗的個數
如果i位置沒有樹且正要種樹苗 標記i點k[i]為1
砍樹時 如果當前點i的g[i]為1(有樹)且k[i]為1(為樹苗)
則該點為種上又被砍掉的樹苗 記錄該點(num[++top]=i)
由於num陣列中可能有相同位置的樹苗被砍多次 而我們只求位置數
所以我們要去重!unique大法好!
程式碼(C++)
#include <cstdio>
#include <bitset>
#include <algorithm>
using namespace std;
int l,m,x,y,w,cnt=0,num[1000010];
bitset<10010> g,k,c;
int main()
{
scanf("%d%d",&l,&m);
for(int i=0;i<=l;++i)
g[i]=1,k[i]=1;
for(int i=1;i<=m;++i)
{
scanf("%d%d%d",&w,&x,&y);
if(w==1)
{
for(int j=x;j<=y;++j)
{
if(g[j]==0)
c[j]=1;
g[j]=1;
}
}
else
{
for(int j=x;j<=y;++j)
{
if(g[j]==1&&c[j]==1)
num[++cnt]=j;
g[j]=0; k[j]=0;
}
}
}
printf("%d\n",g.count()-k.count());
printf("%d",unique(num+1,num+cnt)-&num[0]);
return 0;
}
相關文章
- JavaCPP快速入門(官方demo增強版)Java
- 更便捷的Mybatis增強外掛——EasyMybatisMyBatis
- [CallerLoc外掛]SmsReply For CallerLoc (未接自動回覆簡訊增強版)
- MySQL 密碼增強外掛MySql密碼
- Mac版強大的滑鼠增強推薦:BetterMouse中文版Mac
- 小米盒子3增強版評測 小米盒子3 增強版區別
- Java排序理解增強版Java排序
- quartz叢集增強版🎉quartz
- 體育競猜外掛V1.2修改增強版 for DVBBS 7.1
- 【外掛更新日誌】新發布的1.5.0版本外掛中的增強模式,作用幾何?模式
- DirectX修復工具增強版
- openGauss-外來鍵鎖增強
- Enfocus PitStop Pro 2022 for Mac(pdf增強外掛)啟用版Mac
- 3月29日小米新釋出會:紅米3增強版外觀曝光
- 基於SPI的增強式外掛框架設計框架
- AE/PR外掛:ScaleUp for Mac(影片增強工具)Mac
- PDF增強外掛推薦:Enfocus PitStop Pro 2022中文版
- Enfocus PitStop Pro 2022 for Mac(pdf增強外掛)22啟用版Mac
- 小米遊戲本和增強版區別對比 小米遊戲本增強版升級了什麼?遊戲
- 滑鼠增強工具:BetterMouse for Mac中文版Mac
- 滑鼠增強器:BetterMouse for mac 中文版Mac
- 【MySQL】5.7版本 Semisync Replication 增強MySql
- Percona XtraDb 針對oracle 版mysql 的增強OracleMySql
- GithubX: 一個 Github 體驗增強外掛Github
- babel外掛入門-AST(抽象語法樹)BabelAST抽象語法樹
- 最佳VSCode的增強型Git擴充套件外掛VSCodeGit套件
- 15 個用於佈局和 UI 增強的 jQuery 外掛UIjQuery
- 視窗增強工具:Rectangle Pro啟用版
- Enfocus PitStop Pro 2022 for Mac(pdf增強外掛)22.0.1378944啟用版Mac
- 基於Python的江蘇大學校園網暴力破解Python
- 實用的鍵盤增強工具:Keyboard Maestro Mac版Mac
- 好用的滑鼠增強軟體:BetterMouse 啟用中文版
- [需求建議]加強版評論外掛
- 觸控板增強神器:Bettertouchtool for Mac 中文版Mac
- 觸控板增強神器:Bettertouchtool Mac中文版Mac
- 觸控板手勢增強軟體:Multitouch Mac版Mac
- 觸控板增強工具:Bettertouchtool for Mac 啟用版Mac
- 增強的 COMMITMIT