刷题心得7
我们进行异或有哪些思路?
异或具有自反性,多异或几次找一下规律
可以拆分位来计算,若奇数个1异或结果为1,否则为0
异或
异或和序列
1234567891011121314151617181920212223#include<bits/stdc++.h>using namespace std;long long N, a[100000 + 7];long long S[100000 + 7], cnt[2], ans;int main() { cin >> N; for(int i = 1; i <= N; i++) cin >> a[i]; for(int i = 0; i <= 20; i++) { for(int j = 1; j <= N; j++) { if((a[j] >> i) & 1) S[j] = S[j - 1] ^ 1; else S[j] = S[j - 1]; } cnt[0] = cnt[1] = 0; for(int j = ...
无题
列表
12x = [range(10)]x= list(range(10))
第二种才是生成list1Python3 range() 返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表
如何利用列表生成一个随机数的列表
12345import matplotlib.pyplot as pltimport randomgauss = [random.gauss(0,1) for _ in range(10000)]plt.hist(gauss,bins=50,density=False)plt.show()
random.gauss(0, 1)是一个生成服从均值为0,标准差为1的高斯分布随机数的函数调用。[random.gauss(0,1) for _ in range(10000)]使用列表推导式生成了一个包含10000个服从均值为0,标准差为1的高斯分布随机数的列表,这些随机数存储在gauss变量中。
然后,plt.hist(gauss, bins=50, density=False)调用hist函数来创建直方图。它接受三个参数:gauss是要 ...
无题
学习verilog万事万物皆模块
两种模式方式:
结构描述
数据流描述
always 表示一直都会运行
reg 寄存器
wire 线网
这两个是信号类型
常量的格式:W’Bval(位宽’ 进制(二进制-b,八进制-o,十进制-d,十六进制h)数值)
例如:
1’b0—单bit信号二进制信号(等价于十进制0)
4’b0011—4bit二进制信号0011(等价于十进制3)
8’hff—8bit十六进制ff(等价于十进制255)
8’d255—6bit十进制255
块语句
1)起始块:仅在起始的时候执行一次,仅在testbench中出现
1234initial begin a= 1'b0; b= 1'b0;end
2)always 块:当敏感列表发生变化时会执行
行为描述方式1) initial语句:此语句只执行一次。2) always语句:此语句总是循环执行 , 或者说此语句重复执行。 只有寄存器类型数据能够在这两种语句中被赋值。寄存器类型数据在被赋新值前保持原 有值不变。所有的初始化语句和 a l w a y s语句在0时刻并发执行。
时延可以细分为 ...
无题
12345678910111213141516171819202122232425262728create database `sql_tutorial`; -- 这是一个注释,用一个` `包括起来show databases; -- 显示数据库# drop database `sql_tutorial`; -- 删除databaseuse `sql_tutorial`;/*create table student( `student_id` int primary key, `name` varchar(20), `major` varchar(20));*/create table student( `student_id` int , `name` varchar(20), `major` varchar(20), primary key(`student_id`));describe `student`; -- 显示表drop table `student`; -- 删除表格alter table `s ...
计算机组成原理
选 B
我感觉要让0在高位,1在低位
选 A
123456789101112131415162的1次方:22的2次方:42的3次方:82的4次方:162的5次方:322的6次方:642的7次方:1282的8次方:2562的9次方:5122的10次方:10242的11次方:20482的12次方:40962的13次方:81922的14次方:163842的15次方:327682的16次方:65536
注意一下如果全是 1 的话的求和就会是 2 的平方减一
如果之前是无符号数,那么扩展的时候补0,如果是有符号数,则补符号
不管被赋值的对象是有符号还是无符号的,都是补 1
选 D
机器学习学习心得
监督学习
regression 回归
classification 分类
非监督学习
聚类算法(没有指定目标,帮忙分类)
异常检测
成本函数:
要找到一个成本函数最小的 w
三维的图长这样
最佳的在中间的位置
我们用 jupyter 来写
线性
java学习心得
前言
命令行运行
JAVA_HOME 下面填写到 jdk 版本
后来在 path 下面添加的 %JAVA_HOME%\bin 与上面的路径无关
当我们要运行Java程序时,我们需要编译(需要使用javac.exe)和执行(需要使用java。exe),而系统默认的是在当前程序所在的文件夹目录下去寻找这两个执行文件,而不会去其他地方找,此时我们就需要配置Path环境变量,使得每次程序运行就自动到安装JDK的bin目录下去搜索javac.exe和java.exe文件。
classpath 变量的含义是告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件
基本的 bat 脚本样例
12345set JAVA_HOME=%JAVA_HOME%set PROJECT_HOME=C:\Users\23258\Desktop\chapter1set path=%JAVA_HOME%\binset classpath=%PROJECT_HOME%\classjava -classpath %classpath% homework.ch1.Welcome
数据类型java 中 ...
刷题心得之双向搜索
啥是双向搜索两种双向搜索算法:「双向同时搜索」和「Meet in the middle」
双向广搜的步骤:
1234567891011121314151617将开始结点和目标结点加入队列 q标记开始结点为 1标记目标结点为 2while (队列 q 不为空){ 从 q.front() 扩展出新的 s 个结点 如果 新扩展出的结点已经被其他数字标记过 那么 表示搜索的两端碰撞 那么 循环结束 如果 新的 s 个结点是从开始结点扩展来的 那么 将这个 s 个结点标记为 1 并且入队 q 如果 新的 s 个结点是从目标结点扩展来的 那么 将这个 s 个结点标记为 2 并且入队 q}
Meet in the middle
算法的主要思想是将整个搜索过程分成两半,分别搜索,最后将两半的结果合并。暴力搜索的复杂度往往是指数级的,而改用 meet in the middle 算法后复杂度的指数可以减半
[USACO2.2] 集合 Subset Sums题目描述对于从 $1\sim n$ 的连续整数集合,能划分成两个子集合,且保证每个集合的数字和是 ...
学习计算机系统基础的心得
存储程序工作方式:就是把解决问题的指令提前存入存储器中,在机器通电之后,就能按照指定的逻辑循序取出存储器的指令进行处理自动的完成工作。
注意几个点
注意pf是低八位
注意变量前有无 $ 的含义
跳转指令 jz 和jnz对于jz 当零符号位zf为1的时候跳转
对于jnz当零符号位zf为0的时候跳转
jump if not zero
12345678910111213141516171819202122232425section .data num1 db 10 num2 db 10section .text global _start_start: mov al, [num1] mov bl, [num2] cmp al, bl jz equal ; 如果相等,跳转到equal标签处 jmp not_equal ; 否则跳转到not_equal标签处equal: ; 相等的处理逻辑 mov eax, 1 mov ebx, 0 int 0x80not ...