日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

表达式(exp)

發布時間:2023/12/18 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 表达式(exp) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目大意

給定一個邏輯表達式,求每一個數滿足$\in[1,n]$的使的表達式為真的方案數。

?

題解

題目限制較奇怪且數據范圍較小,所以可以考慮直接暴力。

考慮枚舉每一個變量一共出現了$k$種數值,再枚舉這些數值之間的大小關系,判斷是否滿足表達式為真的條件,每有一種,答案就$+C_n^k$即可。

為了方便計算應把中綴表達式轉化為后綴表達式,具體方法不再贅述。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #define LL long long #define mod 1000000007 #define M 1020 #define OR -1 #define AND -2 #define LESS -3 using namespace std; int read(){int nm=0,fh=1; int cw=getchar();for(;!isdigit(cw);cw=getchar()) if(cw=='-') fh=-fh;for(;isdigit(cw);cw=getchar()) nm=nm*10+(cw-'0');return nm*fh; } int mul(int x,int y){return (LL)x*(LL)y%mod;} int add(int x,int y){return (x+y)>=mod?(x+y-mod):x+y;} int n,m,V[M],W[M],K[M],tot,C[M],p[M],top,S[M],ans; void upd(int x){ans=add(ans,x);} int calc(int m1,int m2,int kd){if(kd==OR) return m1||m2;if(kd==AND) return m1&&m2;return W[K[m1]]<W[K[m2]]; } int qpow(int x,int sq){int res=1;for(;sq;x=mul(x,x),sq>>=1) if(sq&1) res=mul(res,x);return res; } void getans(int num){for(int i=1;i<=tot;W[i]=i,i++);do{top=0;for(int i=1;i<=n;i++){if(p[i]>0) S[++top]=p[i];else --top,S[top]=calc(S[top],S[top+1],p[i]);} if(S[top]) upd(num); --top;}while(next_permutation(W+1,W+tot+1)); } void fd(int x){if(x==8){getans(C[tot]);return;}for(int i=1;i<=tot;i++){K[x]=i;fd(x+1);}K[x]=++tot,fd(x+1),tot--; } int main(){for(int ch=getchar();ch!='\n';ch=getchar()){if(ch==' ') continue;if(islower(ch)) p[++n]=ch-'a'+1; if(ch=='(') S[++top]=9;if(ch==')'){while(S[top--]!=9) p[++n]=S[top+1];}if(ch=='<'){while(S[top]<=LESS) p[++n]=S[top--];S[++top]=LESS;}if(ch=='&'){while(S[top]<=AND) p[++n]=S[top--];S[++top]=AND;}if(ch=='|'){while(S[top]<=OR) p[++n]=S[top--];S[++top]=OR;}} while(top) p[++n]=S[top--]; m=read(),C[0]=1;for(int i=1;i<=n;i++){if(p[i]>0) putchar('a'-1+p[i]);else if(p[i]==LESS) putchar('<');else if(p[i]==OR) putchar('|');else if(p[i]==AND) putchar('&');else puts("SJK_AK_IOI");putchar(i<n?' ':'\n');}for(int i=1;i<=7;i++) C[i]=mul(C[i-1],mul(qpow(i,mod-2),m-i+1));fd(1),printf("%d\n",ans);return 0; }

?

轉載于:https://www.cnblogs.com/OYJason/p/9794908.html

總結

以上是生活随笔為你收集整理的表达式(exp)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩久久精品 | 免费在线观看黄色 | 最新黄色在线 | 日韩精品视频一区二区在线观看 | 国产亚洲系列 | 色一区二区三区四区 | 91精选国产| 亚洲精品粉嫩小泬 | 麻豆成人网 | 热热色国产 | 日韩啊啊啊 | 欧美四虎 | 精品少妇久久久久久888优播 | 色婷婷丁香 | 午夜一本| 亚洲欧洲一级 | 欧美一级做a爰片久久高潮 久热国产精品视频 | 欧洲精品在线播放 | 性高跟丝袜xxxxhd | 一本免费视频 | 摸一摸操一操 | 亚洲片国产一区一级在线观看 | 一级做a爰片久久毛片潮喷 天天透天天干 | 久久午夜影视 | 日本黄色网页 | 夜夜草天天干 | 成人午夜sm精品久久久久久久 | 精品国产一区二区视频 | 我爱我色成人网 | 女生扒开尿口 | 影音先锋亚洲资源 | 成长快手短视频在线观看 | 朝桐光av在线 | 中国zzji女人高潮免费 | 国产99久久久久 | 国产精品3p视频 | 亚洲毛片一区二区 | 国产有码 | 天天久久综合网 | 国产91在线看 | 日吊视频 | 91亚洲国产成人久久精品麻豆 | 国产女主播喷水视频在线观看 | 女人张开双腿让男人捅 | 91在线欧美| 国产亚洲精品女人久久久久久 | 天天躁日日躁狠狠躁av麻豆男男 | 无码少妇一区二区三区芒果 | 香蕉一区二区 | www.日韩一区 | www..com色 | 男女福利视频 | 东北少妇不戴套对白第一次 | 精品人妻一区二区三区蜜桃 | 日本熟妇人妻中出 | 亚洲欧美一区二区三区不卡 | 成人久久18免费网站图片 | 国产精品偷伦视频免费看 | 国产成人中文字幕 | 神马午夜51| hd性videos意大利精品 | xxxx日本高清 | 国产免费激情视频 | 艳母在线视频 | 污视频网站在线 | 97色在线观看 | 久操伊人网 | 91尤物视频在线观看 | 中文字幕在线播出 | 久久精品国产99国产精品 | 啪啪av | 国产精品日韩一区二区三区 | 天堂网在线中文 | 超碰人体 | 99视频观看 | 欧美日韩一区二区在线播放 | 日韩av在线播 | 日本黄区免费视频观看 | 国产精品日韩无码 | 亚洲精品日韩欧美 | 亚洲欧洲一区 | 麻豆视频污 | 亚洲大胆人体 | www.色在线| 欧美人与禽猛交乱配视频 | 欧美在线一区二区视频 | 日韩不卡av | 精品国产一区二区在线观看 | 男女日批在线观看 | 国产911在线观看 | 在线免费亚洲 | 欧美日韩一区二区三区四区五区 | 韩国理论午夜 | 暧暧视频在线观看 | 五月天导航 | 一区二区在线观看免费视频 | 狠狠插狠狠干 | 欧美一级色 | 福利在线小视频 |