名字竞技场吧 关注:552贴子:64,587
  • 29回复贴,共1

python测号器预告

只看楼主收藏回复

用的是pl的库


IP属地:江苏来自Android客户端1楼2023-04-24 17:07回复
    目前效率只有c语言版本的18%,持续优化中


    IP属地:江苏来自Android客户端2楼2023-04-24 17:09
    回复
      广告
      立即查看
      zc,但好像就是c++本身快些趴?


      IP属地:湖北3楼2023-04-24 17:22
      收起回复
        强烈建议优化开箱器,涵虚idasse没有反馈而且经常出问题,不稳定。pl开箱器只有旧版,没有新版deepmess线路。
        而pl测号目前速度已经很快,需求没有开箱那么大。
        我个人而言是测号快开箱慢


        IP属地:广东来自Android客户端4楼2023-04-24 21:40
        收起回复
          python写多不会c了
          现征集基于c的顺序任意进制代码:要一个函数初始化前后缀、字符集和起止点,另一个函数可以连续调用,把要测的下一个号赋值给参数中指向char[]的指针


          IP属地:江苏来自Android客户端5楼2023-04-25 10:50
          收起回复
            突然想炼丹了目前有没有测号器能够算boss(@!)战队啊


            IP属地:江苏来自Android客户端6楼2023-04-25 12:47
            回复
              我想问问有没有pl转换器的源码学习


              IP属地:广东来自Android客户端7楼2023-04-26 09:16
              回复
                #include <string.h>
                // 前缀、后缀和字符集
                char prefix[10] = "0x";
                char suffix[10] = "";
                char charset[] = "abcdefg";
                // 起始点
                int start = 0;
                // 初始化
                void init(char *pre, char *suf, char *chs, int s) {
                strcpy(prefix, pre);
                strcpy(suffix, suf);
                strcpy(charset, chs);
                start = s;
                }
                // 获取下一个编码
                void nextcode(char *code) {
                int len = strlen(charset);
                int n = start;
                char str[100] = {0};
                strcat(str, prefix);
                while (n > 0) {
                strcat(str, charset + (n - 1) % len);
                n = (n - 1) / len;
                }
                strcat(str, suffix);
                strcpy(code, str);
                start++;
                }
                int main() {
                char code[100];
                // 初始化,前缀为0x,字符集为abcdefg,起始点为10
                init("0x", "", "abcdefg", 10);
                // 获取第10个编码,0xab
                nextcode(code);
                printf("%s\n", code);
                // 获取第11个编码,0xac
                nextcode(code);
                printf("%s\n", code);
                }
                这个程序实现了初始化和获取顺序任意进制的编码。初始化设置前缀、后缀、字符集和起始点。获取下一个编码会根据这些参数生成下一个编码,并更新起始点。


                IP属地:广东来自Android客户端8楼2023-04-26 09:53
                收起回复
                  广告
                  立即查看
                  @超导体元素 调出来了
                  以下是基于C语言的顺序任意进制代码的实现:
                  #include <stdio.h>
                  #include <string.h>
                  #define MAX_LEN 256
                  int current[MAX_LEN] = {0}; // 用于储存当前的任意进制数组
                  char library[MAX_LEN] = {0}; // 定义任意进制数组的每一位要如何显示
                  // 初始化进制
                  void init(long long int start, char lib[]) {
                  strcpy(library, lib);
                  int base = strlen(library);
                  int index = 0;
                  // 把十进制的start转换成base进制
                  while (start > 0) {
                  current[index++] = start % base;
                  start /= base;
                  }
                  }
                  // 增加任意进制数组
                  void increase(char output[]) {
                  int base = strlen(library);
                  int carry = 1;
                  // 末位自增1,如果达到base就进位
                  for (int i = 0; i < MAX_LEN; i++) {
                  current[i] += carry;
                  if (current[i] == base) {
                  current[i] = 0;
                  carry = 1;
                  } else {
                  carry = 0;
                  }
                  }
                  // 根据library将current转换为显示的格式
                  int index = 0;
                  for (int i = MAX_LEN - 1; i >= 0; i--) {
                  if (current[i] > 0 || index > 0) {
                  output[index++] = library[current[i]];
                  }
                  }
                  output[index] = '\0'; // 字符串末尾添加'\0',表示字符串的结束
                  }
                  // 主函数
                  int main() {
                  // 测试init和increase能否正常运行
                  char lib[] = "0123456789ABCDEF"; // 字符集
                  long long int start = 1000; // 起始点
                  init(start, lib); // 初始化进制
                  char output[MAX_LEN] = {0}; // 用于储存输出的任意进制数
                  increase(output); // 增加任意进制数组并输出
                  printf("%s\n", output);
                  return 0;
                  }
                  在上述代码中,我们首先定义了两个全局变量 current 和 library,分别用于储存当前的任意进制数组和定义任意进制数组的每一位要如何显示。在 init 函数中,我们首先将 lib 复制到 library 中,确定其长度 base 作为进制的底数。接着,我们将十进制的 start 转换成 base 进制,并将转换后的结果储存在 current 中。在 increase 函数中,我们将任意进制数组 current 的末位自增1,如果达到 base 就进位,并根据 library 将 current 转换为显示的格式,赋值给参数中指针指向的 output。在 main 函数中,我们测试 init 和 increase 能否正常运行。


                  IP属地:江苏9楼2023-04-26 15:36
                  收起回复
                    很期待你炼丹的实现。但为什么一定要用boss战队呢?天梯顶端的数据就够多了。
                    再加上平时测号测出来的垃圾,你应该保证各个分段训练集都有充足样本。
                    另外,你打算把什么作为模型输入?我认为输入名字直接得出分数是不可能的,应该是通过PL转换器,把八维和技能作为输入。如果你想要输入技能的话,我认为可以做一个有三四十个技能的数组,然后对应的值输入技能熟练度,这样就可以变成整齐的特征向量输入


                    IP属地:广东来自Android客户端10楼2023-04-26 18:06
                    收起回复
                      火星了(
                      sqrtools 这边目前可以纯 python 算属性,但性能未经测试。
                      毕业班,算技能估计是暑假的事了(
                      顺便问一下您调用 cpp 库的方法是什么,ctypes 吗


                      IP属地:北京11楼2023-04-28 18:45
                      收起回复
                        返回值编码问题迟迟不能解决,感觉想先搞个小模型玩玩


                        IP属地:江苏来自Android客户端12楼2023-04-30 16:24
                        回复