当前位置: 首页 > news >正文

二分|回溯

 

 

 

 

 

08.12 八皇后

    bool col[1000] = {false};  // init
bool diga[1000] = {false};
bool digb[2000] = {false};  

class Solution {
vector<vector<string>> ret;
vector<string> path;
bool col[1000] = {false};  // init
bool diga[1000] = {false};
bool digb[2000] = {false};  
int n;
public:
vector<vector<string>> solveNQueens(int n) {
this->n = n;
path.resize(n, string(n, '.'));
dfs(0);
return ret;
}

void dfs(int r) {
if (r == n) {
ret.push_back(path);
return;
}

for (int i = 0; i < n; i++) {
if (!col[i] && !diga[i + r] && !digb[i - r + 1000]) {  
path[r][i] = 'Q';
col[i] = diga[i + r] = digb[i - r + 1000] = true;  
dfs(r + 1);
col[i] = diga[i + r] = digb[i - r + 1000] = false;  
path[r][i] = '.';
}
}
}
};

 

 

lc410

二分

class Solution {
public:
int splitArray(vector<int>& nums, int k) 
{
int n=nums.size();
int mx=0,sum=0;
for(auto& num:nums)
{
sum+=num;
mx=max(mx,num);
}

int l=mx;
int r=sum;


function<bool(int)> can=[&](int mid)
{
int cnt=0,sum=0;
for(auto& num:nums)
{
sum+=num;
if(sum>mid)
{
cnt++;
sum=num;
}
}
if(cnt<k)
return true;
else
return false;
};

while(l<=r)
{
int mid=l+(r-l)/2;

if(can(mid))
{
r=mid-1;
}
else
{
l=mid+1;
}
}
return l;
}

};

 

http://www.dtcms.com/a/329892.html

相关文章:

  • 了解 Linux 中的 /usr 目录以及 bin、sbin 和 lib 的演变
  • C++算法·递推递归
  • 基于.Net Framework4.5 Web API 引用Swagger
  • HCIP——OSPF综合实验
  • 药房智能盘库系统:基于CV与时间序列预测的库存革命
  • 蓝蜂网关在雄安新区物联网建设中的关键应用
  • Vue内置组件全解析:从入门到面试通关
  • 用 OPC UA C# WinForm 的单节点订阅方法
  • 【个人项目】跑者天地—测试用例
  • AI搜索的极限优化、新兴技术、硬件加速、特定行业解决方案
  • [QtADS]解析demo.pro
  • 利用 Makefile 高效启动 VIVADO 软件:深入解析与实践
  • 十,算法-动态规划
  • 深入理解 Cookie 与 Session —— Web 状态保持详解与实战
  • 目标检测公开数据集全解析:从经典到前沿
  • Linux软件编程3.(文件IO和目录IO)
  • windows设置相对路径的快捷方式
  • 想要PDF翻译保留格式?用对工具是关键
  • h5bench(4)
  • MySQL——binlog刷盘机制
  • django name ‘QueryDict‘ is not defined
  • POST 请求内容类型
  • 移动应用渗透测试:API 接口漏洞的识别与利用技巧
  • Oracle归档日志的查询和定时删除
  • elasticsearch基础概念与集群部署
  • 【16】Transformers快速入门:Token Embedding
  • JavaSE高级-01
  • cuDNN详解,从什么是cuDNN到实际应用过程
  • 肖臻《区块链技术与应用》第十二讲:比特币是匿名的吗?—— 深入解析匿名性、隐私风险与增强技术
  • 区块链DApp:颠覆未来的去中心化应用