首页 > 其他分享 >2024.11.24 鲜花

2024.11.24 鲜花

时间:2024-11-24 20:45:07浏览次数:7  
标签:24 2024.11 函数 鲜花 int shift 大小 位域 valarray

一些大概有用的东西

hello (bpm)2024

翻洛谷科技·工程翻到的,大概有点用。

大量参考洛谷日报。

  1. 负数下标数组

    int _f[N],*const f=_f+(N>>1); 不解释。

  2. valarray

    挺强的,但常数也不小。

    定义类似 vector,但是是固定长,可以用 .resize(n,t=T()) 重设大小,但是会清空。

    类似 bitset,重载了运算符,如 a+=b 表示 a 的每一位都加上 b(的每一位),其中 b 可以是数,也可以是 valarray

    也重载了一些单变量函数如 sqrt(),若是自己的函数是模板函数可以直接用,否则可以用 a.apply(x),其中 x 是作用到每一位的函数。

    有一些如有用的函数:.sum() .max() .min() 就是字面意思。

    .shift(x) 向左位移,x 为负就是向右,空位补 \(0\),需要注意的是这个不会对其做修改,而是返回一个修改后的,修改要写成 a=a.shift(x)

    .cshift(x) 是循环位移,其他和 .shift(x) 一样。

    有非常牛的 mask_array

    不好解释,给两个例子,还是能感受到那股劲的:

    a[a%3==0]+=5 表示将 a 中所有值是 \(3\) 的倍数加 \(5\)。

    valarray<int> b=a[a%3==0] 其中 ba 中所有值是 \(3\) 的倍数的值组成的子集。

    这里面可以传任意 \(bool\) 类型的表达式。

    还有切片:a[slice(x,y,z)] 其中 slice 是一个内置函数,传的 x,y,z 分别是起始位置、步长和切片长度。

    还有一点要注意的是它会实时更改,也就是说 v[j][k]-=v[f[i]][k]/v[f[i]][i]*v[j][i]; 大概不是你想要的值。

    好像是会建表达式树,有的编译器还会并行优化,反正好像要比手写封装快一点。

  3. 位域

    就是你卡空间是有时会有取值在 \([0,3],[0,10^5]\) 这种有点卡边的变量。如果多的话可以扔到位域里。

    位域只能定在结构体里,定义类似。

    struct T{
        int a:4;
        unsigned b=2;
    };
    

    冒号前面是类型和变量名,后面是大小,单位是 \(bit\)。注意大小不要超过类型大小。

    可以用 int :0 这种来舍掉当前字节后缀。

    结构体大小大概是每个大小的和向上取整到最大类型字节。

    位域不能开数组,但是其结构体可以。

    类型的作用是限制其运算,比如说 int 越界会成负,unsigned 不会但是也不能存负。

    本质上是时间换空间,带挺大常数,大概本地不开越界检测对 \(10^8\) 赋值一次加访问一次要 \(0.3s+\)。

Nine Gates(第九道门)

标签:24,2024.11,函数,鲜花,int,shift,大小,位域,valarray
From: https://www.cnblogs.com/xrlong/p/18566290

相关文章

  • Toyota Programming Contest 2024#11(AtCoder Beginner Contest 379)
    A-Cyclic链接:A-Cyclic代码:#include<bits/stdc++.h>usingnamespacestd;intmain(){ stringss; cin>>ss; cout<<ss[1]<<ss[2]<<ss[0]<<""<<ss[2]<<ss[0]<<ss[1]; return0;}B-Strawberri......
  • 2024-2025-1 20241311 《计算机基础与程序设计》第九周学习总结
    学期2024-2025-1学号20241311《计算机基础与程序设计》第九周学习总结作业信息这个作业属于哪个课程<班级的链接>2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2024-2025-1计算机基础与程序设计第九周作业)这个作业的目标<写上具体......
  • 『模拟赛』【MX-S7】梦熊NOIP2024模拟赛3
    Rank因为提前知道打不完就没打暴力A.【MX-S7-T1】「SMOI-R2」HappyCardlink。签。比较好想到炸弹等价于三带一,因此本质只有三种出牌类型。并且三带一一次能出掉四张牌,显然优先打三带一是很优的。所以我们处理出三带的个数以及剩下零牌中对子的个数,然后分讨。如果三带......
  • 20222317 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    1.实验内容(1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:①DNS注册人及联系方式②该域名对应IP地址③IP地址注册人及联系方式④IP地址所在国家、城市和具体地理位置(2)尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所......
  • 2024/11/24 链表
    链表1.类型(1)单链表(2)双链表(3)循环链表2.链表在内存的存储方式数组是在内存中是连续分布的,但是链表在内存中可不是连续分布的,而是散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。链表是通过指针域的指针链接在内存中各个节点。3.链表的定义定义......
  • 2024-2025-1 学号:20241301 《计算机基础与程序设计》第九周学习总结
    |这个作业属于哪个课程|2024-2025-1-计算机基础与程序设计||这个作业要求在哪里|2024-2025-1计算机基础与程序设计第一周作业||这个作业的目标|<复习知识,巩固基础>||作业正文|https://www.cnblogs.com/HonJo/p/18566259|一、教材学习内容总结(一)指针与数组在C语言中,指针和数......
  • 2024-2025-1 20241327 《计算机基础与程序设计》第九周学习总结
    作业信息|2024-2025-1-计算机基础与程序设计)||--|-|2024-2025-1计算机基础与程序设计第九周作业)||快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题|作业正文|https://www.cnblogs.com/shr060414/p/18440575|教......
  • 2024-2025-1 20241416 《计算机基础与程序设计》第九周学习总结
    作业信息这个作业属于哪个课程 [2024-2025-1-计算机基础与程序设计]这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09这个作业的目标 操作系统责任、内存与进程管理、分时系统、CPU调度、文件、文件系统、文件保护、磁盘调度作业正文 https://www.cn......
  • newstar2024 reverse
    Newstar2024--Reversebase64无壳shiftf12查找字符串换表的base64加密Simple_encryption打开主函数直接查看buffer,逆向破解enc=[0x47,0x95,0x34,0x48,0xA4,0x1C,0x35,0x88,0x64,0x16,0x88,0x07,0x14,0x6A,0x39,0x12,0xA2,0x0A,0x37,0x5C,0......
  • Metasploit Pro 4.22.5-2024111401 发布下载,新增功能概览
    MetasploitPro4.22.5-2024111401发布下载,新增功能概览MetasploitPro4.22.5-2024111401(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,releasedNov14,2024请访问原文链接:https://sysin.org/blog/metasploit-pro-4/查看最新版。原创作品,转载......