UOJ 2 [NOI2014]起床困難綜合症
貪心
我們的目標一定是讓最終答案的二進位制位的高位儘量為1
發現位運算只會影響一位
於是搞貪心
#include<cstdio>
#define N 100005
using namespace std;
struct door
{
int op, t;
int make(int x)
{
if(op==1)return x|t;
if(op==2)return x&t;
return x^t;
}
}d[N];
char s[5];
int n, m, now, ans;
int go(int x)
{
for(int i = 1; i <= n; i++)
x=d[i].make(x);
return x;
}
int main()
{
scanf("%d%d",&n,&m);
for(int i = 1; i <= n; i++)
{
scanf("%s%d",s,&d[i].t);
if(s[0]=='A')d[i].op=2;
else if(s[0]=='O')d[i].op=1;
else d[i].op=0;
}
for (now=1;now<=m;now<<=1);
for(now>>=1;now;now>>=1)
{
if(go(0)&now)
continue;
if(ans+now<=m&&(go(now)&now))
ans+=now;
}
printf("%d\n",go(ans));
}
相關推薦
UOJ 2 [NOI2014]起床困難綜合症
貪心 我們的目標一定是讓最終答案的二進位制位的高位儘量為1 發現位運算只會影響一位 於是搞貪心 #include<cstdio> #define N 100005 using nam
noi2014 起床困難綜合症
題目描述 21世紀,許多人得了一種奇怪的病:起床困難綜合症,其臨床表現為:起床難,起床後精神不佳。作為一名青春陽光好少年,atm一直堅持與起床困難綜合症作鬥爭。通過研究相關文獻,他找到了該病的發病原因: 在深邃的太平洋海底中,出現了一條名為drd的巨龍,它掌握著睡眠之精髓,能隨意延長大家
bzoj3668: [Noi2014]起床困難綜合症 拆位模擬
bzoj3668: [Noi2014]起床困難綜合症 Description 21 世紀,許多人得了一種奇怪的病:起床困難綜合症,其臨床表現為:起床難,起床後精神不佳。作為一名青春陽光好少年,atm 一直堅持與起床困難綜合症作鬥爭。通過研究相關文獻,他找到了該病的發病原因:在深邃
BZOJ4811: [Ynoi2017]由乃的OJ BZOJ3668: [Noi2014]起床困難綜合症
BZOJ4811: [Ynoi2017]由乃的OJ Description 由乃正在做她的OJ。現在她在處理OJ上的使用者排名問題。OJ上註冊了n個使用者,編號為1~",一開始他們按照編號排名。 由乃會按照心情對這些使用者做以下四種操作,修改使用者的排名和編號: 然
【BZOJ3668】[NOI2014] 起床困難綜合症(位運算思想)
點此看題面 大致題意: 給定一些位運算操作,讓你在\(0\sim m\)範圍內選一個初始值,使其在經過這些運算後得到的結果最大。 前置技能:關於位運算 作為一道位運算的題,如果你不知道什麼是位運算,那就完全做不了了。 關於位運算可以詳見這篇部落格:位運算相關(一)——位運算學習筆記。 接下來,我
bzoj3668: [Noi2014]起床困難綜合症
題目 每一位用 0 / 1 0/1
【NOI2014】起床困難綜合症
歷經千辛萬苦,atm 終於來到了 drd 所在的地方,準備與其展開艱苦卓絕的戰鬥。drd 有著十分特殊的技能,他的防禦戰線能夠使用一定的運算來改變他受到的傷害。具體說來,drd 的防禦戰線由 n扇防禦門組成。每扇防禦門包括一個運算op和一個引數t,其中運算一定是OR,XOR,AND中的一種,引數則一定為非負整
【NOI2014】bzoj3668 起床困難綜合症
Description 21 世紀,許多人得了一種奇怪的病:起床困難綜合症,其臨床表現為:起床難,起床後精神不佳。作為一名青春陽光好少年,atm 一直堅持與起床困難綜合症作鬥爭。通
[NOI2014]起床困難綜合癥
log ont temp 題解 比較 main 沒有 位運算 std 【題解】 並不算很困難的貪心題。位運算畢竟是針對每一位的,從前向後處理,如果某一位1比0更優且可取1就使它為1。比較0和1的結果要單取這一位來看,但是題目中所給的參數並沒有必要全
luogu2114 [NOI2014]起床困難綜合癥
noi2014 post () spa har esp 綜合癥 turn mar 大約是第一次做近幾年NOI題(盡管是簽到題)? 制作一個真值表,要是有哪一位原本是0但是能變成1那真是太好啦,要是有哪一位原來是1能變成1並且算上它不會超過m那也不錯。 #include &l
BZOJ_3668_[Noi2014]起床困難綜合癥_貪心
else medium str 最大 cpp string har include top BZOJ_3668_[Noi2014]起床困難綜合癥_貪心 題意: 21 世紀,許多人得了一種奇怪的病:起床困難綜合癥,其臨床表現為:起床難,起床後精神不佳。作為一名青春陽光好少年
BZOJ3668:[NOI2014]起床困難綜合癥——題解
轉變 作者 bsp sca 奇怪 lock 博客 algorithm pro http://www.lydsy.com/JudgeOnline/problem.php?id=3668 https://www.luogu.org/problemnew/show/P2114
bzoj3668: [Noi2014]起床困難綜合癥
turn math 真的是 簡單 pac scanf 當前 blog 結果 今天狀態真的是不一般的差。 LCT動態維護最大生成樹沒調出來,費用流又沒寫出來。 結果這道煞筆貪心都要重構一次代碼才能A -------------- 然後做法其實很簡單,逆向枚舉每一個位,
3668. [NOI2014]起床困難綜合癥【貪心】
scrip 一個空格 bsp put size -- IT 有著 如果能 Description 21 世紀,許多人得了一種奇怪的病:起床困難綜合癥,其臨床表現為:起床難,起床後精神不佳。作為一名青春陽光好少年,atm 一直堅持與起床困難綜合癥作鬥爭。通過研究相關文獻
【刷題】BZOJ 3668 [Noi2014]起床困難綜合癥
tac 或操作 防禦 name atm bit 得到 oid 所有 Description 21 世紀,許多人得了一種奇怪的病:起床困難綜合癥,其臨床表現為:起床難,起床後精神不佳。作為一名青春陽光好少年,atm 一直堅持與起床困難綜合癥作鬥爭。通過研究相關文獻,他找到了該
BZOJ 3668: [Noi2014]起床困難綜合癥
return 選擇 algo strong 改變 med style 驚人的 amp 3668: [Noi2014]起床困難綜合癥 Description 21 世紀,許多人得了一種奇怪的病:起床困難綜合癥,其臨床表現為:起床難,起床後精神不佳。作為一名青春陽光好少年
貪心+位運算 NOI2014 起床困難綜合徵
題意: 你可以任意選擇一個 0 − m
洛谷2114 BZOJ3668 NOI2014 起床困難綜合徵 位運算 貪心
題目連結 題意: 你可以任意選擇一個0-m的數,有n次操作,有三種操作操作,第一種&一個數,第二種|一個數,第三種^一個數,然後求n次操作後最大能得到多少。 題解: 直接做並不好做,暴力列舉選哪
起床困難綜合症(省選)
題目: 題目描述 21世紀,許多人得了一種奇怪的病:起床困難綜合症,其臨床表現為:起床難,起床後精神不佳。作為一名青春陽光好少年,atm一直堅持與起床困難綜合症作鬥爭。通過研究相關文獻,他找到了該病的發病原因: 在深邃的太平洋海底中,出現了一條名為drd的巨
【NOI2014】起床困難綜合癥 位運算+貪心
困難 hide 答案 none har class gif pre 位運算 這道題先求出0和-1經過處理後的答案 具體看代碼吧 #include<cstdio> #include<cstring> #include<algorithm>