欧拉回路 poj-1392 Ouroboros Snake

TDISP(TEE Device Interface Security Protocol)软件操作流程 / 1. SPDM会话相关定义(🔶1-37、🔶1-187)// SPDM会话ID// AES-256-GCM加密密钥(TDISP要求)// 初始向量// 会话是否激活// 2. IDE流配置(🔶1-52、🔶1-625)// IDE流ID// 4个子流的AES密钥(覆盖所有子流类型)// 密钥是否已配置// 3. TDI状态与配置(🔶1-207、🔶1-210)TDI_CONFIG_UNLOCKED = 0, // 初始配置态。 阅读详情

题目链接:

http://poj.org/problem?id=1392

题目意思:

给你一个n,让你找到一个2^n的0、1串,使每循环移动一位,表示不同的数。总共可以表示0---2^n-1中的每一个数。

解题思路:

以0——2^(n-1)-1为编号建立一棵树,共2^(n-1)个节点,如果在某个节点后面添加一个0或者1,再去掉最高位,得到下一个节点,两节点之间连一条有向边。

图中每条边就表示了一个数,共有2^n个数,各不相同。

题目要求字典序最小,则从2^(n-1-1节点开始,并且每个节点先连加0的边,后连加1的边,这样的话,就能保证最终的字典序最小。

代码:

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<stack>
#include<list>
#include<queue>
#define eps 1e-6
#define INF (1<<30)
#define PI acos(-1.0)
using namespace std;

struct Inf  //表示一条边,序号表示边起始点,v表示终点,via表示连0还是1,vis表示该边是否访问
{
   int v,via;
   bool vis;
};

vector<Inf>myv[17000]; //2^14=16384
char path[33000]; //共可以表示2^n个数,2^15=32768
int n,cnt;

void init() //初始化向量容器
{
   for(int i=0;i<=n;i++)
      myv[i].clear();
   return ;
}

void dfs(int cur)
{
   for(int i=0;i<myv[cur].size();i++)
   {
      if(myv[cur][i].vis==false)
      {
         myv[cur][i].vis=true;
         dfs(myv[cur][i].v);
         path[++cnt]=myv[cur][i].via+'0';//保存边,最先进来的是最后的边,用栈保存
      }
   }
   return ;
}

int main()
{
   int k;

   while(scanf("%d%d",&n,&k)!=EOF)
   {
      if(n+k==0)
         break;
      int lan=n;
      n=(1<<(n-1))-1; //最大的节点标号
      init();

      struct Inf temp;
      for(int i=0;i<=n;i++)
      {
         int tt=(i<<1)-((i&(1<<(lan-2)))<<1);//在后面添0并去掉最高位
         //printf("i:%d  %d\n",i,tt);
         temp.v=tt;
         temp.via=0;
         temp.vis=false;

         myv[i].push_back(temp);

         tt+=1; //在后面添1并去掉最高位
         temp.v=tt;
         temp.via=1;
         myv[i].push_back(temp);
      }
      cnt=-1;
      dfs(n);
      path[++cnt]='\0';
      std:reverse(path,path+cnt);//倒过来
      //printf("%s\n",path);
      int ans=0;
      for(int i=k,j=1;j<=lan;j++,i++) //输出旋转k个位置后表示的数,注意是n位
         ans=(ans<<1)+path[i%cnt]-'0';
      printf("%d\n",ans);
   }
   return 0;
}





心理学量表汇总 50多个 附下载 目录一、心理健康与精神病态量表二、行为问题量表三、人格评估量表四、智力测验一、心理健康与精神病态量表1.一般症状自评量表(SCL-90)症状自评量表 (The self-report symptom inventory ,Symptom checklist ,90,简称 SCL90) 有 90 个评定项目 , 每个项目分五级评分 , 包含了比较广泛的精神病症状学内容, 从感觉、 情 感、思维、意识、行为直至生活习惯、人际关系、饮食等均有涉及,能准确刻划被试的自觉 症状,能较好地反映被试的问题及其严重程度和变 阅读详情

相关推荐

JetLinks社区版VS企业版:手把手教你用PostgreSQL+Redis搭建物联网中台(Win7实测)

本文详细对比了JetLinks社区版与企业版的核心差异,并提供了在Windows 7系统上,使用PostgreSQL和Redis搭建物联网中台的完整部署教程。文章深入解析了从环境准备、后端服务构建到前端部署的每一步,为开发者在资源有限环境下构建高性价比物联网平台提供了清晰的实战指南。

w1x2y3的博客 305

HDU 2605 Snake(DFS+BFS+技巧+细节)(好题)

Snake Time Limit: 10000/6000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 222    Accepted Submission(s): 45 Problem Description Snake is a popular gam

LzyRapX 2265

RTX 50系显卡实战3DGS:从源码编译到避坑指南

本文详细介绍了在RTX 50系显卡上成功运行3D Gaussian Splatting(3DGS)的完整实战指南。针对新显卡架构与旧版预编译包不兼容的核心问题,文章提供了从源码编译CUDA扩展的清晰步骤,包括环境配置、依赖安装、核心模块diff-gaussian-rasterization和simple-knn的编译避坑方法,并涵盖了数据准备、模型训练与实时预览的全流程,帮助开发者高效利用新硬件进行3D重建。

weixin_28314575的博客 264

poj1392 Ouroboros Snake 欧拉回路

题目链接: poj1392 题意: 咬尾蛇是古埃及神话中一种虚构的蛇。它经常把尾巴放在自己的嘴巴里,不停地吞噬自己。环数类似于咬尾蛇,它是2n 位的二进制数,具有如下性质:它能“生成”0~2n-1 之间的所有数。生成方法是:给定一个环数,将它的2n 位数卷成一个圆圈,这样,就可以从中取出2n 组n 位二进制数,以每个数的起始位置的下一个位置,作为下一个数的起始

旧时光 1377

高速接口电平标准互连设计:LVPECL、PECL与LVDS的实战解析

本文深入解析了LVPECL、PECL与LVDS三种高速接口电平标准的互连设计实战。针对信号共模电压、阻抗匹配等核心差异,详细对比了直流耦合与交流耦合两种主流方案,并提供了电阻网络计算、布局布线要点及光模块等特殊场景下的选型建议,帮助工程师解决高速信号间的“翻译”难题,确保信号完整性。

weixin_29198045的博客 537

Ubuntu18.04安装VCS、Verdi、dve全套教程亲测(有成功截图)

通过下面十个步骤,我们就可以在ubuntu上使用vcs、verdi、dve等软件! 一、安装ubuntu系统,这个不在这里讲了,重点叫安装VCS、Verdi等软件 下面的过程一部分同其他网上流程一致,对其中部分进行修改。如果按照其他网上教程是不会成功的,本人亲测,下面是我试验网上不同文章的流程遇到的错误摸索后总结的流程,按照步骤保证可以成功运行,包括破解流程,使用时间不限制在2020年,可以自定义2030等等。 二、安装文件结构 –synopsys_installer #此程序用于安装下面三个程序。所以你想

QQ_778132974的博客 6364

POJ 1392 Ouroboros Snake (欧拉回路)

题目地址:poj1392 欧拉回路水题。 代码如下:#include <iostream> #include <string.h> #include <math.h> #include <queue> #include <algorithm> #include <stdlib.h> #include <map> #include <set> #include <stdio.h> using na

scf0920 1386

Adams Car——Adams car与Simulink联合仿真

Adams与simulink悬架联合仿真

Mr.邹的博客 2125

poj1392Ouroboros Snake(欧拉回路)

->题目请戳这里 题目大意:这题跟杭电的2894基本是一样的 题目分析:具体建图,->请戳这里,这题要求输出的是当每次读n个二进制位的时候,所求出的字典序最小的序列的第k个数的值。只要输出具体的某个值,所以我们把答案存起来,n从1-15只算1次就行了,重复的查表即可。 详情请见代码: #include #include #include using namespace std; c

ophunter的专栏 1021

使用自己的数据跑通mmsegmentation

使用自己的数据跑通mmsegmentation,解决以下报错:1)type object 'FileClient' has no attribute 'infer_client' 2)It is expected output_size equals to 2, but got size 3 3)训练测试结果报NAN 4)KeyError: 'MyDataset is not in the dataset registry' 5)预训练模型和加载的网络结构层名有差异,unexpected key .....

猫猫与橙子的博客 1656

AIGC时代的必备技能:提示词工程(Prompt Engineering)全面指南

本文主要介绍了AIGC时代的重要技能——提示词工程(Prompt Engineering)。文章首先定义了提示词的概念,强调其作为人类与AI沟通桥梁的重要性,并详细阐述了提示词的功能特性,包括输入、大模型处理和输出三个环节。接着,文章探讨了提示工程的重要性,如提高输出质量、节省资源和时间等。随后,文章深入分析了提示词的基本构成要素,包括指令、上下文、输入数据和输出指示符,并提出了提示词的五大基本原则:清晰性与具体性、提供充足的上下文、明确任务与目标、考虑受众和迭代思维。最后,文章介绍了提示词的七大常见技巧

weixin_43178406的博客 27万+

POJ - 1392 Ouroboros Snake (欧拉回路的应用)

Description Ouroboros is a mythical snake from ancient Egypt. It has its tail in its mouth and continously devours itself. The Ouroboros numbers are binary numbers of 2^n bits that have the prop

那些年 1347

李宏毅2025《机器学习》第一讲-生成式AI:技术突破和未来发展

本文基于台湾大学李宏毅教授的“一堂课搞懂生成式人工智慧的技术突破与未来发展”课程内容,系统性地梳理了生成式AI的核心概念、技术原理、发展演进以及未来趋势。文章从AI的“行为”入手,通过生动的实例展示了其强大的生成与推理能力;进而深入剖析其底层运作机制,阐释了“万物皆为令牌(Token)”、自回归生成、Transformer架构等核心原理;接着,文章追溯了通用AI模型从“专才”到“通才”的演进历程;最后,探讨了如何通过微调(Fine-tuning)、模型编辑(Model Editing)等技术赋予AI新的能力

木鱼时刻的专栏 2295

POJ1392 Ouroboros Snake 欧拉回路(转动鼓轮模型)

和HDU2894一样,先求出一条回路,然后按照要求输出相应的边, Ouroboros Snake Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 864   Accepted: 410 Description Ouroboros is a my

786

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

POJ-1392 Ouroboros Snake 欧拉回路

题意:对于一个长度为2^N的循环序列,从某一个位置开始依次取N个,这样就能够生成2^N个序列,现在要求输出一个最小的满足要求的循环序列。输出这个序列生成的第K个数字是多少? 解法:套用Fleury算法,构边的时候保持从小到大的顺序即可。如果是生成N为序列的话,就考虑前N-1位构成的节点相互的连的边(例如三位数就可以这样构边 00 --> 01 --> 11那么这两条边就代表生成了00...

weixin_33693070的博客 119

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

POJ 1392 Ouroboros Snake 欧拉回路

和那个编码是差不多的题,同样是分别用dfs和手写栈写了一遍,练手 这次写的时候比上次思路更加清晰了。 #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <climits> #include <str...

weixin_30710457的博客 102

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

POJ 1392 - Ouroboros Snake 求0011这类序列欧拉回路的最小路径...

题目:                          就是说有一个转盘..有2^n个格子...每次将当前指的位置为起点长度为n的框住得到一个数..转一圈能正好得到0~(2^n)-1的数..问满足这个条件的转盘分布..第k个出现的数是多少..                 题解:                          这道题和HDOJ 2894差不多..构造出序列后..直接找

zzyzzy12 1032

POJ1392: Ouroboros Snake 题解

Description Ouroboros is a mythical snake from ancient Egypt. It has its tail in its mouth and continously devours itself. The Ouroboros numbers are binary numbers of 2^n bits that have the property...

IcePrincess_1968's World 584

POJ 1392 Ouroboros Snake(数位欧拉:输出路径)

POJ 1392 Ouroboros Snake(数位欧拉:输出路径) http://poj.org/problem?id=1392 题意:一个n位的二进制数一共有2^n个,现在要你用一个长度为2^n的模板二进制数(且要求字典序最小)来”生成所有n位的二进制数”,具体生成过程如下: 从0号位置到2^n-1位置开头依次取模板二进制数的连续(如果到了尾部,就从头部循环取)n位二进制数,我们要求这

code 1152

poj 1392 Ouroboros Snake

Ouroboros Snake Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 887   Accepted: 426 Description Ouroboros is a mythical snake from ancient Egypt. It has its

记录成长的点点滴滴. . . . . 1266
上一篇: KMP hdu-3613-Best Reward
下一篇: BFS hdu-4528 小明系列故事——捉迷藏
Accagain
博客等级 码龄14年 376粉丝 316原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值