面试压力测试题情景题_压缩弹簧经常使用会发生什么

面试压力测试题情景题_压缩弹簧经常使用会发生什么题解状态压缩dp,f[i][j]代表第i行状态为j的方案数#include<bits/stdc++.h>using namespace std;#define x first#define y second#define send string::npos#define lowbit(x) (x&(-x))#define left(x) x<<1#define right(x) x<<1|1#define transformu(s) tr..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在这里插入图片描述
在这里插入图片描述
题解
状态压缩dp,f[i][j]代表第i行状态为j的方案数


#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define send string::npos
#define lowbit(x) (x&(-x))
#define left(x) x<<1
#define right(x) x<<1|1
#define transformu(s) transform(s.begin(), s.end(), s.begin(), ::toupper)
#define transformd(s) transform(s.begin(), s.end(), s.begin(), ::tolower)
typedef long long ll;
typedef pair<long long,long long> PII;
typedef pair<double,double>PDD;
typedef struct Node * pnode;
const long long N = 1e3  + 10;
const long long M = 4 * N;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const long long Mod = 4e8;
const long long INF = 0x3f3f3f3f;
const double eps = 1e-6;
PII g[N * N ];
int a[N];
int cnt = 0;
int f[2][N * N];
int z[N];
int n;
bool check(int x){ 
   
    int a = g[x].x,b = g[x].y;
    for(int i = a;i <= a + b - 1;i ++){ 
   
        if(z[i] == 0)return false;
    }
    return true;
}
int main(){ 
   
    cnt ++;
// cout<<cnt<<endl;
    cin>>n;
    for(int len = 1;len <= n;len ++){ 
   
        for(int i = 0;i <= n - len;i ++){ 
   
            g[cnt].x = i,g[cnt].y = len;
            cnt ++;
        }
    }
// cout<<cnt<<endl;
    char x;
    f[0 & 1][0] = 0;
    for(int i = 1;i <= n + 1;i ++){ 
   
        memset(z,0,sizeof z);
        for(int j = 0;j < n && i != n + 1;j ++){ 
   
            cin>>x;
            if(x == '.')z[j] = 1;
        }
// for(int j = 0;j < n;j ++)cout<<z[j]<<endl;
        for(int j = 0;j < cnt;j ++){ 
   
            if(check(j) && j != 0){ 
   
                f[i & 1][j]  = f[(i - 1) & 1][j] + 1;
            }
            else if(j != 0){ 
   
                f[i & 1][j] = 0;
            }
            else if(j == 0){ 
   
                for(int k = 0;k < cnt;k ++)
                f[i & 1][j] += f[(i - 1) & 1][k];
                cout<<f[i & 1][j]<<endl;
            }
        }
    }
// cout<<n + 1<<endl;
    cout<<f[(n + 1) & 1][0]<<endl;
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168658.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机一级本本可以办吗,笔记本电脑卡怎么办,小编教你笔记本电脑太卡怎么解决…[通俗易懂]

    计算机一级本本可以办吗,笔记本电脑卡怎么办,小编教你笔记本电脑太卡怎么解决…[通俗易懂]电脑内的灰尘容易造成部件加快老化,导致硬件的运行迟钝,甚至导致一些因接触不良而无法正常开机。比如风扇,不及时的清理容易造成电脑的温度过高,则就容易电脑开机慢。那笔记本电脑太卡怎么解决?下面,小编给大家带来了笔记本电脑太卡的解决图文。相信很多人都有过以上的经历,其实刚买笔记本的时候,玩游戏开软件都是嗷嗷快,速度快的飞起,然而随着时间的推移,系统垃圾慢慢堆积导致系统运行缓慢。电脑在使用过程中太卡让很多…

    2022年9月11日
    3
  • pycharm怎么关闭科学模式_pycharm关闭科学模式

    pycharm怎么关闭科学模式_pycharm关闭科学模式PyCharm在2017.3版本之后加入了ScientificMode,在科学计算时,可以方便的追踪变量变化等。使用NumPy的时候,系统会提示usescientificmode,但进去后就运行程序的在控制台中,很麻烦,想改回来的话按下面步骤取反即可.有时打开了scientificmode时,但文件中引入了numpy等科学计算包时并没有被自动识别,以scientific…

    2022年8月27日
    3
  • react js清除浏览器缓存

    react js清除浏览器缓存最近遇到这样一个问题,项目在谷歌上完全正常,但是到了ie浏览器,发现点击保存之后界面没有刷新,打开F12,接口调用成功,下发参数正确,查询返回的结果还是原来那个。定位之后,发现查询走的是浏览器缓存…F12已接收那显示(来自缓存),时间0秒。下面就是清缓存的方法:加上这句Pragma:’no-cache’,headers:{Pragma:’no-cache’,//解决IE11走缓存无法刷新问题Aut…

    2022年7月18日
    18
  • uniapp- onshow和onload

    uniapp- onshow和onload官网onload:只加载一次,监听页面加载,其参数为上个页面传递的数据,参数类型为Object(用于页面传参),onShow:监听页面显示。页面每次出现在屏幕上都触发,包括从下级页面点返回露出当前页面例子:页面b:通过缓存跳转到页面aB:缓存uni.setStorageSync(‘newMember’,this.newMember)A:接收:onShow(){letstr=uni.getStorageSync(‘newMember’)this.list.

    2022年6月18日
    84
  • Liunx常用命令

    Liunx常用命令Liunx常用命令

    2022年4月22日
    32
  • Linux命令大全(超详细版)[通俗易懂]

    Linux命令大全(超详细版)[通俗易懂]史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!

    2022年10月4日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号