渡劫
为什么相同的循环体次数,for循环明显更快执行完毕?

#include <reg51.h>

void delay(void) { //while循环方式 unsigned char i=200; unsigned char j=200; while (i--) while(j--); /* //for循环方式 unsigned char i = 200; unsigned char j = 200; for (i=200 ;i>0;i--) for(j=200; j>0 ;j--); */ }

void main(void) { while(1) { unsigned char p = 0x01; unsigned char q; for ( q = 0 ; q < 8 ; q++) { P0 = ~(p << q); delay(); }

}

}

Bear Billys
您的道德和有效的社會工程夥伴

社會工程需要技巧和精確度。專業角支持您安全、合乎道德地開展業務。

我們的客製化服務:

深入調查:我們收集相關信息,讓您搶佔先機。 建立引人注目的個人資料:我們開發可信賴的數位身分來加強您的方法。 優化您的流程:我們自動執行重複性任務以提高效率。 專家建議:受益於我們的專業知識來完善您的策略。 為什麼選擇我們?

絕對保密:您的專案將得到最大程度的謹慎處理。 具體結果:我們為您提供詳細的報告,幫助您做出最佳決策。 個人化解決方案:我們的服務適應您的特定需求。 準備好探索新的視角了嗎?

聯絡我們

https://t.me/Matricule02

https://mitalk.lat/proteus/

根据视频生成可以头尾衔接的循环视频

最近手头有一个视频,基本上是一个部分重复循环的,我想把循环的一段提取出来造成动态壁纸,但怎奈何不会用 pr,只能用 ffmpeg 配合 pillow 搞了……

实现的关键在于找到可以首位相接的两帧画面,这就要求两个画面有极高的相似度。判断画面相似度首先需要对图像进行量化,一般有两种方案,一种是提取特征向量,一种是计算哈希。考虑到我手头视频的特征,我选择了比较简单的哈希。

开始之前,需要安装必要的包以及 ffmpeg,执行

pip install ffmpeg-python Pillow numpy imagehash

!Notice 简略起见,以下代码不重要部分折叠,具体实现参照文末链接

首先需要把视频分离成帧,存入数组:

def extract_frames(input_video) -> Generator[np.ndarray, None, None]:
    # 一个生成器,生成每一帧的数据存入 numpy 数组
    ...

图像的哈希算法有多种,比如均值哈希(aHash)、感知哈希(pHash)以及差异哈希(dHash),各有优劣,但选择哪一种对接下来的算法影响不大,我这里以 pHash 为例。以上图像哈希算法在 imagehash 中均有提供,由于本篇主要讨论循环视频生成,哈希算法的具体原理就不研究了(肯定不是因为我不会)。

def generate_hashes(input_video: str) -> Generator[int, None, None]:
    for frame in extract_frames(input_video):
        # 将 numpy 数组转换为 PIL 图像
        pil_image: ImageHash = Image.fromarray(frame)

        # 生成 pHash 值
        phash_value = int(str(phash(pil_image)), 16)

        yield phash_value

图像哈希越相似,图像就越相似。两个哈希值的相似度可以用汉明距离表示,汉明距离表两个二进制数差异的位数,可以通过异或和中 math 的个数计算。

def hamming_distance(hash1: int, hash2: int) -> int:
    return bin(hash1 ^ hash2).count('1')

接下来遍历每一帧的哈希找到距离最近的两帧即可。遍历过程如果有确定起始或结束帧可以直接遍历,复杂度 math;如果没有固定起始帧,根据汉明权重(也就是与 math 的汉明距离)排序后遍历即可,复杂度 math

最后完整代码在github gist

Expector
分享一下自己常用的矩阵快速幂优化dp模板

适合竞赛用,应该是相关模板最简洁的之一吧,不需要的部分(参数传递、命名空间、类型别名什么的)自己根据实际情况改一改就可以了。

namespace MTX {
using i64 = int64_t;
constexpr i64 MTX_SIZE = 3;
using vec = std::array<i64, MTX_SIZE>;
using mtx = std::array<vec, MTX_SIZE>;

mtx &mul(mtx &a, const mtx &b, const i64 m = INT64_MAX) {
    mtx r{};
    for (int i = 0; i < MTX_SIZE; ++i)
        for (int j = 0; j < MTX_SIZE; ++j)
            for (int k = 0; k < MTX_SIZE; ++k)
                r[i][j] = (r[i][j] + a[i][k] * b[k][j] % m) % m;
    a = std::move(r);
    return a;
}

mtx &dp(mtx &s, mtx& f, i64 n, const i64 m = INT64_MAX) {
    while (n) {
        if (n & 1) mul(s, f, m);
        n >>= 1, mul(f, f, m);
    }
    return s;
}
} // namespace MTX

使用样例(斐波那契数列):

#include <bits/stdc++.h>

namespace MTX {
using i64 = int64_t;
constexpr i64 MTX_SIZE = 3;
using vec = std::array<i64, MTX_SIZE>;
using mtx = std::array<vec, MTX_SIZE>;

mtx &mul(mtx &a, const mtx &b, const i64 m = INT64_MAX) {
    mtx r{};
    for (int i = 0; i < MTX_SIZE; ++i)
        for (int j = 0; j < MTX_SIZE; ++j)
            for (int k = 0; k < MTX_SIZE; ++k)
                r[i][j] = (r[i][j] + a[i][k] * b[k][j] % m) % m;
    a = std::move(r);
    return a;
}

mtx &dp(mtx &s, mtx& f, i64 n, const i64 m = INT64_MAX) {
    while (n) {
        if (n & 1) mul(s, f, m);
        n >>= 1, mul(f, f, m);
    }
    return s;
}
} // namespace MTX

int main() {
    std::ios::sync_with_stdio(0);
    std::cin.tie(nullptr);
    MTX::mtx s{(MTX::vec)
        {1, 1},
        {0, 0}
    }, f{(MTX::vec)
        {0, 1},
        {1, 1}
    };
    MTX::i64 n;
    std::cin >> n;
    std::cout << MTX::dp(s, f, n - 1, 1e9 + 7)[0][0] << std::endl;
    return 0;
}
雏雁计划有人可以提供一个方向吗,实在想不出来qwq

如题,本人擅长 Java 后端 ,同学都是萌新,找到方向之后再找人heart

nexmoe
需要便宜的短期 GPU 租赁吗? 我们正在做这个事情!

⚡️ 灵动算力:为AI工作者提供短期、经济的算力

💰 比市场价低40%

⏱️ 按需租用,灵活便捷

👓 我们也在对长期租赁进行技术攻克中,做到无感迁移

了解更多:https://agile.nexmm.com

#GPU租赁 #AI计算 #省钱利器

nexmoe
[福利] 共绩算力共建者计划 - 免费获得价值 15,000+ 元的 4090 算力卡

大家好!我们最近推出了一个非常棒的共建者计划,想和朋友们分享一下。

计划亮点

  • 免费获得: 一张为期一年的 4090 算力卡(市场价值 15,000+ 元)

  • 适合人群: AI 产品开发者或科研计算领域从业者

  • 简单门槛: 提供反馈、协助测试和适度推广

如何参与

前往详情页了解

https://www.gongjiyun.com/seed.html

注意事项

  • 审核在 1-3 个工作日内完成

  • 资源以平台积分形式分批发放

  • 需在您的网站/应用底部添加我们的 LOGO 和链接

有任何问题,欢迎在评论区讨论。

从事 AI 开发的朋友们,不要错过这个机会哦!

摸鱼未遂
改版了哦,看起来更加高大上了

RT

用 Remix 重构了 HackerTalk

nextjs 的 beta 版本一直不满意没发布 frowning ,React Server Component 虽然能优化首次加载,但页面路由都会引入 _rsc 请求,导致卡顿(取决于网络质量),不能充分利用客户端缓存数据。

Remix 的 clientLoader 可以很好解决这个问题,兼顾 SEO 和路由体验,同时可以和 mswjs 配合,极大提高开发效率。

sakishum
【福利】业余时间练手写了个键鼠录播+点击器的 mac app

app store链接🔗 业余时间练手写了个键鼠录播+点击器的 mac app。 放几个促销码供 各位黑客说的水友,错过就错过了哦! grin WHLN4ANKHP3E FNX6TF347MH6 R7XTPHMXAX3Y

j2go
手撸经典版魔塔

梦回 2005,当年第一个电子词典,为了通关魔塔,专门用个小本本计算怪的数值,

去年突然想玩,微信上搜了一圈,没有一个能玩下去,要么移动太慢,要么挂羊头卖狗肉,于是就想自己撸一个,

没想到撸了三个多月才出来稍微算完整的第一版,11 月提交审核了,

没没没想到,一审审了 5 个月!!! 离谱,都快忘了这件事了,月初看审过了,但是还是上不了,kao kao kao, 还要备案,那也没办法,都这么久了,还是得上,

前天终于上线了,为了能搜索到还交了 30 块保护费,oh shit

有想玩玩的朋友可以微信搜 mota, 小程序那一栏里看到 motagame 就是了

中文名 魔塔 搜不到,因为这个名字我用不了, triumph

崔崔不会胖
学生作业求助

编写函数,返回一个数的逆序后组成的数。在main函数中输入一个数x,通过函数调用输出它逆序后组成的数。

请问怎么才能实现在main函数中成功调用devert函数呢?我现在写完之后不知道return后面应该跟什么了。请求各位帮忙看一下,谢谢。

storytellerF
分享在docker 里面开发Android 项目

同理,flutter reactNative 也是一样的

devcontainer.json

// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
{
	"name": "Fei-Dev",
	// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
	"dockerComposeFile": "../docker-dev-build/docker-compose.yml",
	"service": "devcontainer",
	"workspaceFolder": "/workspace",
	"features": {
		"ghcr.io/devcontainers/features/java:1": {},
		"ghcr.io/nordcominc/devcontainer-features/android-sdk:1": {}
	},
	"customizations": {
		"vscode": {
			"extensions": [
				"DavidAnson.vscode-markdownlint",
				"isudox.vscode-jetbrains-keybindings",
				"vscjava.vscode-gradle",
				"totalcross.android-xml-editor",
				"ms-azuretools.vscode-docker",
				"adelphes.android-dev-ext",
				"fwcd.kotlin"
			]
		}
	},
	"shutdownAction": "stopCompose",

	// Use 'forwardPorts' to make a list of ports inside the container available locally.
	// "forwardPorts": [],
	// Use 'postCreateCommand' to run commands after the container is created.
	"postCreateCommand": "adb start-server && sh gradlew build",
	// "postAttachCommand": "adb connect emulator:5555"
	// Configure tool-specific properties.
	// "customizations": {},
	// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
	//fixme 尝试使用vscode 用户可以访问volume
	"remoteUser": "root"
}

docker-compose.yml

services:
  devcontainer:
    image: mcr.microsoft.com/devcontainers/base:ubuntu
    command: /bin/sh -c "while sleep 1000; do :; done"
    ports: 
      - "8080-8090"
    volumes:
      - ..:/workspace:cached
      - gradle-cache:/root/.gradle
      - top-cache:/root/.cache

  emulator:
    image: budtmo/docker-android:emulator_11.0
    ports:
      - "6080"
    environment:
      - EMULATOR_DEVICE=Samsung Galaxy S10
      - WEB_VNC=true
    devices:
      - /dev/kvm

volumes:
  gradle-cache:
  top-cache:
John
有谁会写毕设
有谁会写毕设
aisbr
app无法登录,抓包数据。网页版可以登录,求分析求解

标识符

483DAB9E-B587-4DAE-936C-201F5BC4BCBA

备注

Error Domain=kCFStreamErrorDomainSSL Code=-9806"(null)" UserInfo=/NSLocalizedRecoverySuggestion=Errorcode definition can be found in Apple's SecureTransport.h}

请求信息

CONNECT m.m******(手动打码).pt:443 HTTP/1.1

请求头部

Host: m.m*******.ptConnection: keep-alive

发送请求头部

未发送

服务端开始响应

未响应

请求完成2024/04/26 10:11:40.529

D。
分享免费云服务器

前些天一直在找便宜的云服务器,偶然间发现一免费的云平台,这里推荐给大家。

就是阿贝云,网站是https://www.abeiyun.com

说一下感受

1、阿贝云虽然是一小众的云平台,重在免费,该有的东西都有,还能免备案这是最舒服的。

2、使用了一天,上了项目,网速不慢。

3、唯一要指出来就是磁盘太小。

急切寻求rust编译问题帮助(archlinux, openssl)

拉取了rustbuster的v3.0.3版本文件, 二进制文件无法使用, 执行结果如下:

[root_cn@archlinux target]$ ./rustbuster-v3.0.3-x86_64-unknown-linux-gnu
./rustbuster-v3.0.3-x86_64-unknown-linux-gnu: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

拉取了main源码, 想自行尝试编译, 然后卡在了openssl, 以下为报错信息:

The following warnings were emitted during compilation:

warning: openssl-sys@0.9.47: build/expando.c:4:24: error: pasting "RUST_VERSION_OPENSSL_" and "(" does not give a valid preprocessing token
warning: openssl-sys@0.9.47:     4 | #define VERSION2(n, v) RUST_VERSION_##n##_##v
warning: openssl-sys@0.9.47:       |                        ^~~~~~~~~~~~~
warning: openssl-sys@0.9.47: build/expando.c:5:23: note: in expansion of macro ‘VERSION2’
warning: openssl-sys@0.9.47:     5 | #define VERSION(n, v) VERSION2(n, v)
warning: openssl-sys@0.9.47:       |                       ^~~~~~~~
warning: openssl-sys@0.9.47: build/expando.c:10:1: note: in expansion of macro ‘VERSION’
warning: openssl-sys@0.9.47:    10 | VERSION(OPENSSL, OPENSSL_VERSION_NUMBER)
warning: openssl-sys@0.9.47:       | ^~~~~~~

error: failed to run custom build command for `openssl-sys v0.9.47`

Caused by:
  process didn't exit successfully: `/mnt/d/work/file/rust/rustbuster/target/debug/build/openssl-sys-c5a482a9e0e49574/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=const_fn
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
  OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
  OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_DIR
  OPENSSL_DIR unset
  cargo:rustc-link-lib=ssl
  cargo:rustc-link-lib=crypto
  OPT_LEVEL = Some("0")
  TARGET = Some("x86_64-unknown-linux-gnu")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_x86_64-unknown-linux-gnu = None
  CC_x86_64_unknown_linux_gnu = None
  HOST_CC = None
  CC = None
  CFLAGS_x86_64-unknown-linux-gnu = None
  CFLAGS_x86_64_unknown_linux_gnu = None
  HOST_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-Wall" "-Wextra" "-E" "build/expando.c"
  cargo:warning=build/expando.c:4:24: error: pasting "RUST_VERSION_OPENSSL_" and "(" does not give a valid preprocessing token
  cargo:warning=    4 | #define VERSION2(n, v) RUST_VERSION_##n##_##v
  cargo:warning=      |                        ^~~~~~~~~~~~~
  cargo:warning=build/expando.c:5:23: note: in expansion of macro ‘VERSION2’
  cargo:warning=    5 | #define VERSION(n, v) VERSION2(n, v)
  cargo:warning=      |                       ^~~~~~~~
  cargo:warning=build/expando.c:10:1: note: in expansion of macro ‘VERSION’
  cargo:warning=   10 | VERSION(OPENSSL, OPENSSL_VERSION_NUMBER)
  cargo:warning=      | ^~~~~~~
  exit status: 1

  --- stderr
  thread 'main' panicked at /home/root_cn/.cargo/registry/src/mirrors.sjtug.sjtu.edu.cn-4f7dbcce21e258a2/openssl-sys-0.9.47/build/main.rs:126:13:

  Header expansion error:
  Error { kind: ToolExecError, message: "Command \"cc\" \"-O0\" \"-ffunction-sections\" \"-fdata-sections\" \"-fPIC\" \"-g\" \"-fno-omit-frame-pointer\" \"-m64\" \"-Wall\" \"-Wextra\" \"-E\" \"build/expando.c\" with args \"cc\" did not execute successfully (status code exit status: 1)." }

  Failed to find OpenSSL development headers.

  You can try fixing this setting the `OPENSSL_DIR` environment variable
  pointing to your OpenSSL installation or installing OpenSSL headers package
  specific to your distribution:

      # On Ubuntu
      sudo apt-get install libssl-dev
      # On Arch Linux
      sudo pacman -S openssl
      # On Fedora
      sudo dnf install openssl-devel

  See rust-openssl README for more information:

      https://github.com/sfackler/rust-openssl#linux

  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

经过检查openssl与rust均为最新版本,

[root_cn@archlinux target]$ sudo pacman -S rust
[sudo] password for root_cn:
warning: rust-1:1.77.2-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Package (1)  Old Version  New Version  Net Change

extra/rust   1:1.77.2-1   1:1.77.2-1     0.00 MiB

Total Installed Size:  249.41 MiB
Net Upgrade Size:        0.00 MiB

:: Proceed with installation? [Y/n] n
[root_cn@archlinux target]$ sudo pacman -S openssl
warning: openssl-3.2.1-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Package (1)   Old Version  New Version  Net Change

core/openssl  3.2.1-1      3.2.1-1        0.00 MiB

Total Installed Size:  11.45 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n] n

在网上找了一下, 查到资料, 在rust-openssl的issues中提到类似报错, 得到解释如下:

If you are cross compiling to MUSL, you either need to point openssl-sys to the location that you have a copy of OpenSSL cross compiled to MUSL, or tell it to build a copy of OpenSSL itself with the vendored feature.

如果你是交叉编译到MUSL,你需要将openssl-sys指向你有一个交叉编译到MUSL的OpenSSL副本的位置,或者告诉它用vendored特性构建一个OpenSSL本身的副本。

由于不会rust, 依靠关键词"交叉编译"+"cargo"搜索到了cargo交叉编译rust程序, 顺着找到文件:

[root_cn@archlinux .cargo]$ cat ~/.cargo/config
[source.crates-io]
replace-with = 'sjtu' # 指定使用下面哪个源,修改为source.后面的内容即可

# 中国科学技术大学
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"

# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index/"

# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

# rustcc社区
[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index.git"

没有找到交叉编译的设置, 由于本人不会rust, 线索断了, 尝试向大家寻求一波帮助, 非常感谢阅读.

webpon
分享免费GPT4站点

永久免费,无需注册

https://good.xjai.top

【轉貼】ASP.NET Core Developer Roadmap in 2024
斌廷
南京大学研究中心诚募博士后

南京大学数字金融 - 新华报业集团联合诚邀全职博士后!

【研究方向涵盖】

数智传播、数智金融经济、数据金融经济、数智政务、数智监管治理,以及“大数据、大模型、大计算”全新范式等方向理论与实践

【具体研究领域】

包括 Bigdata4SocialScience、AI4SocialScience、LLM4SocialScience、Blockchain4SocialScience,以及先进信息技术融合创新在数智金融经济、数智传播社会、数智健康医疗、数智政务治理中的应用。

【薪资待遇优渥】

年薪可达 30 万人民币左右,另有绩效奖金及江苏省和南京市人才补贴。具体薪资需与HR面议,总收入依据专业背景和技能经验而定(计算机 AI 背景者薪资更优)。

【欢迎学科交叉、专业背景不限】

不限制专业背景,致力于构建一个多元、开放、包容的科研环境,因此,欢迎计算机、软件、大数据、人工智能、区块链、隐私计算、数据安全、数据科学等背景的博士人才,也热切邀请具有人文社科背景的博士加入我们的团队,共同探索信息技术与社会科学的交叉前沿。也欢迎其他编程能力强的理工科博士毕业生(即使没有AI等背景也欢迎)。

【南京大学研究中心】

南京大学研究中心为双院士领军的校级科研和创新平台,详情请见:fintech.nju.edu.cn。

【团队氛围】

学科交叉、理论与实践相结合、国际化视野、行业前沿视角和项目。

【联系我们】

请感兴趣的朋友将个人简历发送至邮箱:blockchainfintech@126.com。

【更多招募】 南京大学研究中心招收硕士生、博士生、博士后、青年教师、研究员,也欢迎访问、客座、联培以及科研助理(有些岗位可兼职或远程合作)等

欢迎加入我们,您将在这个富有挑战性和机遇的环境中,开启广阔的职业发展道路,实现个人价值与学术梦想的双赢!

期待您的加入,携手共创数智未来!