NOIP专题复习(三) 状压DP学习笔记 - LiRewriter的博客 - CSDN博客



NOIP专题复习(三) 状压DP学习笔记 - LiRewriter的博客 - CSDN博客

我觉得学普通的DP已经救不了我了。
发觉似乎NOIP状压蛮裸的(flag立的飞起),于是学一波。

其实在下作为一只蒟蒻,认为状压DP属于很好理解但不太好写的类型。
还是从经典例题互不侵犯开始。

luogu1896 互不侵犯

在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。
1 <=N <=9, 0 <= K <= N * N

在下大致将学习这道题做法步骤拆分如下。
1,数据范围是识别状压DP的标志。
这个数据范围,一般来说是状压DP。

2,位运算是进行状压DP的主力武器。
很多教程都会直接讲一下四个运算符是什么意思,然后直接上代码。
在下觉得有点不太友好啊orz。毕竟大家都知道这是什么意思,只是不会写而已。
首先对于这道题,用到的位运算大致解析如下:
假设现在某一行状态为i,i的对应的二进制数,某一位是1表示这一位放棋子,是0表示不放。


Read full article from NOIP专题复习(三) 状压DP学习笔记 - LiRewriter的博客 - CSDN博客


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts