1. 程式人生 > >UOJ 2 [NOI2014]起床困難綜合症

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>