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

建筑企业登录哪个网站网站页面素材

建筑企业登录哪个网站,网站页面素材,旅游景点网站建设方案,厦门做网站维护的公司ABC322刷题记 T1.A A - First ABC 2。 妥妥的简单题…… 用find函数做就行。#xff08;如果不存在那个子串就返回-1#xff0c;否则返回第一次出现位置#xff09; 注意题目中编号是从1开始的。 时间复杂度#xff1a;O(log(n))。find函数有一定代价#xff0c;我记…ABC322刷题记 T1.A A - First ABC 2。 妥妥的简单题…… 用find函数做就行。如果不存在那个子串就返回-1否则返回第一次出现位置 注意题目中编号是从1开始的。 时间复杂度O(log(n))。find函数有一定代价我记得是log。 #includebits/stdc.husing namespace std;string str;int n0;int main(){     scanf(%d,n);     cinstr;     //输入     str str;     //处理把0开头改成1开头     printf(%d\n,str.find(ABC));     //输出答案     return 0;} T2.B B - Prefix and Suffix。 前两题都一样简单。 用substr截取出t中与s长度相同的前缀和后缀分别和s比较即可。 时间复杂度先不算了因为肯定够。 #includebits/stdc.husing namespace std;int m0,n0;string s,t;int main(){     scanf(%d%d,n,m);     cinst;     //输入     string frontt.substr(0,n),reart.substr(m-n,n);     //去除前缀与后缀     if(frontsrears){         printf(0\n);     }else{         if(frontsrear!s){             printf(1\n);         }else{             if(front!srears){                 printf(2\n);             }else{                 printf(3\n);             }         }     }     //对号入座输出不错     return 0;} T3.C C - Festival。 还是辣墨简单…… 用b数组记录某一天是否有烟花在用ans数组从后往前算其中ans[i]表示离第i天最近并且时间不比第i天早的放烟花的日子与第i天相差多少。 最后从1到n输出ans的对应项即可。 时间复杂度O(n)应该是最优的思路了。 #includebits/stdc.h#define M 220000#define N 220000using namespace std;int ans[N]{},a[M]{},m0,n0;bool b[N]{};int main(){     scanf(%d%d,n,m);     for(int i1;im;i){         scanf(%d,a[i]);         b[a[i]]true;     }     //输入并维护b数组     for(int in;i1;i--){         if(b[i]true){             ans[i]0;             //①当前这一天就有烟花距离为0         }else{             ans[i]ans[i1]1;             //②当前这一天没有烟花比明天的距离多一天         }     }     //计算ans     for(int i1;in;i){         printf(%d\n,ans[i]);     }     //输出答案     return 0;} T4.D D - Polyomino。 客观来说我这道题没做出来真有些丢人。 其实就是一个dfs但是一个变量名害我找了1天6小时34分钟…… 我们定义一个结构体存储一块牌如果一个坐标上有点就记录为1否则记录为0。支持项各个方向平移如果会出格就返回不能做否则返回操作成功、顺时针旋转、逆时针旋转操作当然还要封装加法把骨牌拼接起来其实就是相同坐标的点记录的数相加如果相加后和为0就说明这里本来就没有点如果为1就说明刚好有一个牌上有如果大于1就说明有多个牌子上面有这个点当然只有当3块牌都记起来之后和为1才能说明这种摆法可能合法、等于号骨牌完全相同用于判断拼完之后是不是和满牌相同。 在dfs中我们不难证明先旋转遍历旋转次数去时顺时针回时逆时针在平移反方向的平移互相作为返回操作是不会有问题的当然要注意平移可以项各种方向平移多次。 最终大体流程是这样使用dfs遍历三个牌的操作如果最后拼起来是满牌就说明可以达成目的直接标记最终答案为“可行”并一路退出回到主程序否则继续往下遍历。遍历操做时先考虑旋转再考虑平移。最后输出Yes/No即可。 时间复杂度不好算这里不展开描述但是数据量都是4、16这类数估计也没啥事。 #includebits/stdc.husing namespace std;struct Info{     int num[4][4];     Info operator(Info ot){         Info ret{};         for(int i0;i4;i){             for(int j0;j4;j){                 ret.num[i][j]num[i][j]ot.num[i][j];             }         }         return ret;     }     //拼接     bool operator(Info ot){         for(int i0;i4;i){             for(int j0;j4;j){                 if(num[i][j]!ot.num[i][j]){                     return false;                 }             }         }         return true;     }     //判等     bool down(){         for(int i0;i4;i){             if(num[3][i]1){                 return false;             }         }         for(int i3;i1;i--){             for(int j0;j4;j){                 num[i][j]num[i-1][j];             }         }         for(int i0;i4;i){             num[0][i]0;         }         return true;     }     //下移     bool left(){         for(int i0;i4;i){             if(num[i][0]1){                 return false;             }         }         for(int i0;i2;i){             for(int j0;j4;j){                 num[j][i]num[j][i1];             }         }         for(int i0;i4;i){             num[i][3]0;         }         return true;     }     //左移     bool right(){         for(int i0;i4;i){             if(num[i][3]1){                 return false;             }         }         for(int i3;i1;i--){             for(int j0;j4;j){                 num[j][i]num[j][i-1];             }         }         for(int i0;i4;i){             num[i][0]0;         }         return true;     }     //右移     bool up(){         for(int i0;i4;i){             if(num[0][i]1){                 return false;             }         }         for(int i0;i2;i){             for(int j0;j4;j){                 num[i][j]num[i1][j];             }         }         for(int i0;i4;i){             num[3][i]0;         }         return true;     }     //上移     void spina(){         Info ret{};         for(int i0;i4;i){             for(int j0;j4;j){                 ret.num[i][j]num[3-j][i];             }         }         memcpy(num,ret.num,sizeof(num));         return;     }     //顺时针旋转     void spinb(){         Info ret{};         for(int i0;i4;i){             for(int j0;j4;j){                 ret.num[i][j]num[j][3-i];             }         }         memcpy(num,ret.num,sizeof(num));         return;     }     //逆时针旋转};Info inf[10]{};bool ansfalse;inline void dfs(int d);//深度优先搜索用到函数inline void tmovew(int d);//遍历旋转用完后返回原始状态inline void tmovex(int d);//遍历横移用完后返回原始状态inline void tmovey(int d);//遍历竖移用完后返回原始状态int main(){     inf[4]{{{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}}};     //满牌     for(int i0;i4;i){         string str;         cinstr;         for(int j0;j4;j){             if(str[j]#){                 inf[1].num[i][j]1;             }         }     }     for(int i0;i4;i){         string str;         cinstr;         for(int j0;j4;j){             if(str[j]#){                 inf[2].num[i][j]1;             }         }     }     for(int i0;i4;i){         string str;         cinstr;         for(int j0;j4;j){             if(str[j]#){                 inf[3].num[i][j]1;             }         }     }     //输入并处理成Info格式     dfs(1);     //dfs     if(ansfalse){         printf(No\n);     }else{         printf(Yes\n);     }     //根据答案输出     return 0;}inline void dfs(int d){     if(d4){         //3个骨牌遍历完成         if(inf[1]inf[2]inf[3]inf[4]){             anstrue;             //若相加为满牌就说明答案可行直接记录答案为“Yes”或者说true         }         return;         //递归出口     }     if(anstrue){         return;         //已经找到答案无需继续遍历     }     tmovew(d);     //开始遍历旋转     return;}inline void tmovew(int d){     for(int i0;i3;i){         for(int j1;ji;j){             inf[d].spina();         }         //顺时针旋转相应次         tmovex(d);         //往下遍历横移         for(int j1;ji;j){             inf[d].spinb();         }         //逆时针转回去回溯     }     return;}inline void tmovex(int d){     for(int i0;i4;i){         int sum0;         //尽最大可能地往相应方向移动i次sum记录实际上操作成功的次数后面所有的sum都同理         for(int j1;ji;j){             if(inf[d].left()true){                 sum;             }         }         //往左移动         tmovey(d);         //往下遍历竖移         for(int j1;jsum;j){             inf[d].right();         }         //往右移动也就是回溯     }     for(int i0;i4;i){         int sum0;         for(int j1;ji;j){             if(inf[d].right()true){                 sum;             }         }         //往右移动         tmovey(d);         //往下遍历竖移         for(int j1;jsum;j){             inf[d].left();         }         //往左移动也就是回溯     }     return;}inline void tmovey(int d){     for(int i0;i4;i){         int sum0;         for(int j1;ji;j){             if(inf[d].down()true){                 sum;             }         }         //往下移动         dfs(d1);         //往下递归         for(int j1;jsum;j){             inf[d].up();         }         //往上移动也就是回溯     }     for(int i0;i4;i){         int sum0;         for(int j1;ji;j){             if(inf[d].up()true){                 sum;             }         }         //往上移动         dfs(d1);         //往下递归         for(int j1;jsum;j){             inf[d].down();         }         //往下移动也就是回溯     }     return;}
http://www.dnsts.com.cn/news/73641.html

相关文章:

  • 舟山建设工程信息网站wordpress新手建站
  • 建个营销型网站多少钱ui设计与制作
  • 河南河南省住房和城乡建设厅网站沁县网站建设
  • 搜狗网站推广比较好的装修公司
  • 做网站win7好用么美化版wordpress
  • 如何自己做众筹网站国外域名交易网站
  • 温州网站建设风格网站建设 html5
  • 可以自己做课程的网站wordpress做下载型网站6
  • 如何用ps设计网站首页wordpress页面id
  • 青海制作网站如何修改网站源文件
  • cms网站地图模板做网站订阅号
  • 中国建设银行网站分期通网站建设毕业设计刻光盘
  • 网站建设艾瑞市场分析网站后台统计怎么启动啊
  • 负责公司网站建设的岗位叫什么如何注册视频号
  • 河源市住房和城乡规划建设局网站加强残联网站建设
  • 做网站一月能赚50万吗dedecms安装教程
  • 赣州网站设计哪里好深圳建设集团有限公司工资
  • 快速网站收录网络推广的方式都有哪些
  • 金溪那里可以做网站网站没有在工信部备案
  • 网站结构设计的内容网站服务器++免费
  • 做淘宝详情页好的网站运行两个wordpress
  • 环球旅行社网站建设规划书企业名词解释
  • 重庆网站建设培训机构学费把网页挂到wordpress
  • 沈阳哪家网站好域外网站是
  • 济南企业网站设计建筑工程网上申请质量安全监督
  • 做网站的的需求文档网站信息维护方案
  • 如何在网上接做网站的小项目网站建设程序员招聘
  • 国外门户网站源码图门市建设局网站
  • 南京网站制作开发django 开放api 做网站
  • 国外最新创意产品网站有哪些方面网络营销方式有哪些各方式的优缺点有哪些