ICode9

精准搜索请尝试: 精确搜索
  • [Bzoj1087][SCOI2005]互不侵犯King2019-07-02 08:48:18

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1087 还不错的状态压缩题目,把国王的位置看成1,其余位置看成0,则n行每行的可能出现的状态为1<<n,如果同时考虑n行的状态就为1<<(n*n),必不可能。 所以先预处理出每行所有的合法状态,及没有相邻的1出现,并处理出每个状态的1的个

  • [SCOI2005]骑士精神2019-05-16 20:44:41

    题目描述 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现

  • P1896 【[SCOI2005]互不侵犯】2019-04-28 19:42:03

    这题主要分两个步骤: Section A: 初始化每一行中国王互相不攻击的情况 Section B: 考虑列和列之间国王不攻击。 解释都在代码里: #include<bits/stdc++.h>#define N 15//行数 #define M 1050//状态数 #define K 105//国王数 #define rd(x) x=read()using namespace std;typedef long

  • 骑士精神[SCOI2005\BZOJ1085]2019-04-24 08:47:41

    欢迎大家访问我的老师的OJ———caioj.cn 题目描述 传送门 思路 这道题其实一点都不难,我不太明白为什么lyd打了*。 首先 马字拓展状态。 int dx[8]={1,1,-1,-1,2,2,-2,-2}; int dy[8]={-2,2,2,-2,-1,1,1,-1}; 貌似,暴力就这个没了 但是这样T⁡\large \operatorname{T}T的没边

  • 【题解】P1896 [SCOI2005]互不侵犯2019-04-15 20:48:58

    \(Description:\) 题面类似n皇后,不过摆的是国王 \(Sample\) \(Input:\) 3 2 \(Sample\) \(Output:\) 16 \(Solition:\) 设计状态,这种题我还是没有思路啊,怎么办啊啊啊啊啊? 看了看题解: 设计 \(f[i][j][k]\) 表示前 \(i\) 行,该行状态为 \(j\),前 \(i\) 行共放了 \(k\) 个国王的方

  • 【题解】P2324 [SCOI2005]骑士精神2019-03-21 19:43:08

    ·有关IDA* 是带有估值函数的迭代加深搜索,表现出出色的效率。 估值函数可以简单的定义为「已经到位的骑士的个数」。 然后就是普通的迭代加深了。     算法酷炫不一定赢,搜索好才是成功。 ——Loli   Code: #include <iostream>#include <math.h>#include <stdio.h>#include <a

  • [BZOJ1085][SCOI2005]骑士精神2019-03-12 18:50:51

    又是搜索...上瘾了????   好吧...启发式搜索IDA*~_~   但还不是搜索嘛...   估价函数打出来就好了哇 还是比较水的一题 (话说今天看到一个有意思的东西)   /***  ┏┓   ┏┓+ +* ┏┛┻━━━┛┻┓ + +* ┃       ┃* ┃   ━   ┃ ++ + + +* ███━██

  • bzoj1087:[SCOI2005]互不侵犯King2019-03-09 18:42:31

    传送门 设状态\(f[i][j][k]\)为枚举到第\(i\)行,放国王的状态为\(j\),目前一共放了\(k\)个国王 算出来复杂度挺高的,但是剪枝比较niubi,然后就没了 代码: #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> using namespace std; void read(int &x) { cha

  • P1896 [SCOI2005]互不侵犯2019-02-19 21:51:06

    题目 题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 注:数据有加强(2018/4/25) 输入输出格式 输入格式:   只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N)   输出格式

  • 洛谷-P1896 [SCOI2005]互不侵犯2019-02-10 19:37:28

    链接:https://www.luogu.org/problemnew/show/P1896 题意: 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 思路: 状压dp,dp[i][j][k]。表示。第i行,放j个国王,第j种状态的方法。 预处

  • Luogu-P2324-[SCOI2005]骑士精神2019-02-04 16:44:23

    【题面】 题目描述: 输入输出格式: 输入格式: 第一行有一个正整数T(T<=10),表示一共有N组数据。接下来有T个5×5的矩阵,0表示白色骑士,1表示黑色骑士,*表示空位。两组数据之间没有空行。 输出格式: 对于每组数据都输出一行。如果能在15步以内(包括15步)到达目标状态,则输出步数,否则

  • bzoj 1084: [SCOI2005]最大子矩阵2019-01-25 12:00:10

    分情况   /**************************************************************    Problem: 1084    User: lxy8584099    Language: C++    Result: Accepted    Time:84 ms    Memory:2004 kb********************************************************

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有