luogu P1896 [SCOI2005]互不侵犯

去tm插頭dp

數據范圍這么,又要求,顯然上dp

\(f[i][j][k]\)表示放到第\(i\)行,總共放了\(j\)個那啥,第\(i\)行的格子狀態為\(k\)的方案

先預處理出一行內狀態的放置個數和格子狀態,因為那啥占據周圍一圈的格子,所以轉移時前后兩行格子狀態沒有交集的狀態轉移

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<vector>
#include<cmath>
#include<ctime>
#include<queue>
#include<map>
#define LL long long
#define il inline
#define re registerusing namespace std;
const LL mod=1000000007;
il LL rd()
{re LL x=0,w=1;re char ch;while(ch<'0'||ch>'9') {if(ch=='-') w=-1;ch=getchar();}while(ch>='0'&&ch<='9') {x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}return x*w;
}
LL nn,n,kk,f[10][85][1100],ans;
LL nu[1100],b[1100],tt; //nu是某個狀態的棋子數量,b為相對應的格子狀態
bool v[1100];
il void init(int i,int j,int k)
{if(v[k]) return;++tt;nu[tt]=j,b[tt]=k;v[k]=true;for(;i<=n;i++)init(i+2,j+1,k|(1<<(i-1))|(i<n?(1<<i):0));    //對于某個棋子所在行以及上(沒什么用),下的行,棋子所在列和左邊(沒什么用),右邊都被占了
}int main()
{freopen("xzz.in","r",stdin);freopen("xzz.out","w",stdout);n=rd(),kk=rd();nn=1<<n;init(1,0,0);for(int i=1;i<=tt;i++) f[1][nu[i]][b[i]]=1;for(int i=2;i<=n;i++){for(int j=1;j<=tt;j++)for(int k=1;k<=tt;k++){if((b[j]|b[k])!=b[j]+b[k]) continue;for(int l=nu[j];l<=kk;l++)f[i][l][b[j]]+=f[i-1][l-nu[j]][b[k]];}}for(int j=1;j<=tt;j++) ans+=f[n][kk][b[j]];printf("%lld\n",ans);return 0;
}
語文好差啊嚶嚶嚶

轉載于:https://www.cnblogs.com/smyjr/p/9408631.html

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

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

相關文章

Java String:重要到別人只能當老二的字符串類

字符串&#xff0c;是Java中最重要的類。這句肯定的推斷不是Java之父詹姆斯高斯林說的&#xff0c;而是沉默王二說的&#xff0c;因此你不必懷疑它的準確性。 關于字符串&#xff0c;有很多的面試題&#xff0c;但我總覺得理論知識繞來繞去沒多大意思。你比如說&#xff1a;Str…

vue 中slot 的具體用法

子組件 <template><div class"slotcontent"><ul><!--<slot></slot>--><li v-for"item in items">{{item.text}}</li></ul></div> </template><script>export default{data(){re…

Java基礎教程:多線程基礎(3)——阻塞隊列

Java基礎教程&#xff1a;多線程基礎&#xff08;3&#xff09;——阻塞隊列 快速開始 引入問題 生產者消費者問題是線程模型中的經典問題&#xff1a;生產者和消費者在同一時間段內共用同一存儲空間&#xff0c;生產者向空間里生產數據&#xff0c;而消費者取走數據。 模擬情景…

001.Linux開機啟動過程

相關Linux啟動過程解析&#xff0c;此作為通用啟動參考&#xff1a; 轉載于:https://www.cnblogs.com/itzgr/p/10285833.html

學習vim 從常用按鍵開始

撤銷 u 前進 ctrl r移動 下一個單詞 w 當前單詞首或上個單詞首 b 當前單詞尾或上個單詞尾 e ---- 大寫就是忽略標點符號 行首行尾 $^ 查詢 /word 下一個 n 上一個 Nv 可視化操作命令 刪除操作 x 刪除光標處的字符&#xff0c;向后刪除 nx …

element ui 中 el-menu 如何添加鏈接router-link標簽

在vue項目中&#xff0c;使用elementui 框架&#xff0c;做一個后臺管理系統 在寫左邊菜單&#xff0c;菜用了&#xff0c;elementui 提供的組件 &#xff0c; el-menu 組件。但是組件沒有鏈接&#xff0c;而我們知道添加鏈接使用router-link標簽代碼如下&#xff1a; <el-…

使用fastjson的parseObject方法將json字符串轉換成Map 或者List

fastjson 轉換成map HashMap<String,String> map JSON.parseObject(jsonStr,new TypeReference<HashMap<String,String>>() {}); fastjson 轉換成list List<Person> list new ArrayList<Person>(); list JSON.parseArray(jasonArray.toStri…

【01】《正則表達式必知必會》(已看)(僅存放)

【01】《正則表達式必知必會》 共149頁。掃描版&#xff0c;中文版。Sams Teach Yourselef Regular Expressions in 10 minutesBen Forta著。楊濤 翻譯【】魔芋&#xff1a;這本書已經沒有用了。內容已吸收。內容較為基礎&#xff0c;也很全面。** 附件列表 鏈接&#xff1a;ht…

vue-cli腳手架的.babelrc文件

{// 此項指明&#xff0c;轉碼的規則"presets": [// env項是借助插件babel-preset-env&#xff0c;下面這個配置說的是babel對es6,es7,es8進行轉碼&#xff0c;并且設置amd,commonjs這樣的模塊化文件&#xff0c;不進行轉碼["env", {"modules": …

Java秒殺業務架構設計之路

Java秒殺業務架構設計之路

疑難雜癥,逐個下藥

用戶登陸&#xff08;三次輸錯機會&#xff09;且每次輸錯誤時顯示剩余錯誤次數&#xff08;提示&#xff1a;使用字符串格式化&#xff09; 三次登錄: 1.讓用戶輸入三次的機會,錯一次的時候就要詢問用戶是否要繼續 2.分別判斷用戶名和密碼,如果用戶名錯誤就提示用戶錯誤,如果是…

JS性能分析(測試代碼運行時間)

console.time("timer"); for(var i0;i<10000;i){} console.timeEnd("timer"); timer: 0.274169921875ms轉載于:https://www.cnblogs.com/smzd/p/10647455.html

jsonp原生js跨域拿新浪數據插件封裝【可擴展】

//修改了一個bug,增加了手動釋放垃圾 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-…

Ansible基本命令

Ansible安裝完成之后就自帶很多命令&#xff0c;其中較常用的有7個&#xff1a; ansibleansible-docansible-galaxyansible-initansible-playbookansible-pullansible-vaultansible ansible -h Usage: ansible <host-pattern> [options] 對本機執行一個命令&#xff1a; …

Java高并發高性能分布式框架從無到有微服務架構設計

Java高并發高性能分布式框架從無到有微服務架構設計

Makefile中幾種賦值

延時變量&#xff0c;只有被使用時才展開定義 :?立即變量&#xff0c;定義時的賦值立即有效 ??條件變量&#xff0c;當變量為空時才賦值 追加賦值轉載于:https://www.cnblogs.com/smzd/p/10695962.html

線程的基本協作和生產者消費者

協作基礎&#xff08;wait/notify&#xff09; Java的根父類是Object&#xff0c;Java在Object類而非Thread類中&#xff0c;定義了一些線程協作的基本方法&#xff0c;使得每個對象都可以調用這些方法&#xff0c;這些方法有兩類&#xff0c;一類是wait&#xff0c;另一類是no…

L1-016 查驗身份證

L1-016 查驗身份證 &#xff08;15 分&#xff09;一個合法的身份證號碼由17位地區、日期編號和順序編號加1位校驗碼組成。校驗碼的計算規則如下&#xff1a; 首先對前17位數字加權求和&#xff0c;權重分配為&#xff1a;{7&#xff0c;9&#xff0c;10&#xff0c;5&#xff…

什么是高并發,如何避免高并發

之前我將高并發的解決方法誤認為是線程或者是隊列可以解決&#xff0c;因為高并發的時候是有很多用戶在訪問&#xff0c;導致出現系統數據不正確、丟失數據現象&#xff0c;所以想到 的是用隊列解決&#xff0c;其實隊列解決的方式也可以處理&#xff0c;比如我們在競拍商品、轉…

.sync 修飾符的理解

正常 子組件&#xff1a; this.$emit(update:title, newTitle)父組件&#xff1a; <text-documentv-bind:title"doc.title"v-on:update:title"doc.title $event" ></text-document>簡潔&#xff1a; <text-document v-bind:title.sync&quo…