c++获取数组中最大值
int a[n];
*max_element(a,a+n);
保留小数
printf("%.2f"%90.5)->90.50(不适用于保留1位小数)
From a mysterious castle...
int a[n];
*max_element(a,a+n);
printf("%.2f"%90.5)->90.50(不适用于保留1位小数)
Python就是要多实践,不懂就举个例子试试,多试试,才能懂这些函数是干什么的
print("%0.2f"%90.5)
注意:有关取模运算,n%mod—>若n>abs(mod)则n%mod=0;
//加法取模
(a+b)%mod=(a%mod+b%mod)%mod;
//乘法取模
(a*b)%mod=(a%mod*b%mod)%mod;
//减法取模
(a-b)%mod=(a%mod-b%mod+mod)%mod;
//除法取模(特殊)
//规则1:当a能整除b时
(a/b)%mod=a%(b*mod)/b;
//规则2:无论a是否可以整除b,当b和mod互质(b和mod很少不互质) or a不能整除b
(a/b)%mod=a*qp(b,mod-2,mod)%mod;
//stack
stack<int> s;
stack< int, vector<int> > st; //覆盖基础容器类型,使用vector实现st
s.empty(); //判断stack是否为空,为空返回true,否则返回false
s.size(); //返回stack中元素的个数
s.pop(); //删除栈顶元素,但不返回其值
s.top(); //返回栈顶元素的值,但不删除此元素
s.push(item); //在栈顶压入新元素item
//queue
queue<int> q;
q.empty(); //判断队列是否为空
q.size(); //返回队列长度
q.push(item); //队尾压入一个新元素
q.front(); //返回队首元素的值,但不删除该元素
q.back(); //返回队尾元素的值,但不删除该元素
q.top(); //返回具有最高优先级的元素值,但不删除该元素
android课设记录一下制作过程
SDK:API24("Nougat";Android 7.0) Win10 -> Win11
Win10 -> Win11
详细代码在GitHub:https://github.com/L-mj0
第二次參加HKcert,體驗感拉滿,只能說今年的題,比去年難太多了Orz😵💫
附上今年的戰績
题目内容:
我国某部门已经连续三年对间谍张纪星进行秘密监控,最近其网络流量突然出现大量的神秘数据,为防止其向境外传送我国机密数据,我们已将其流量保存,请你协助我们分析其传输的秘密信息。 附件
git clone https://github.com/comfyanonymous/ComfyUI
因为之前已经装过sd-webui,并且想复用它的大模型,则可以先找到..\comfy-UI\extra_model_paths.yaml.example这个文件。首先去掉.example后缀然后用任何你喜欢的文本编辑器修改这个文件。找到a111,修改base_path,改为你实际的webui安装路径(此例中我的webui在..\sd-webui-aki-v4.9下)
根据题目,猜想应该是跟图像相关对抗网络
查看 train.py,根据经验直到应该是梯度攻击
import torch
import torch.nn as nn
import torch.optim as optim
import torchvision.transforms as transforms
import numpy as np
from PIL import Image
import torch.nn.functional as F
class tanji_model(nn.Module):
def __init__(self):
super(tanji_model, self).__init__()
self.classifier = nn.Sequential(
nn.Linear(31 * 31, 512),
nn.ReLU(),
nn.Linear(512, 128),
nn.ReLU(),
nn.Linear(128, 1),
)
def forward(self, x):
x = torch.flatten(x, 1)
y = self.classifier(x)
return torch.sigmoid(y)
# 加载与训练模型文件model.pth
tanji = tanji_model().cpu()
tanji.load_state_dict(torch.load('model.pth'))
tanji.eval()
print(tanji)
# 创建一个跟flag一样的空白图片
flag_size = (31, 31)
img = torch.zeros((1, 1, * flag_size), requires_grad = True)
# 设置优化器
optimizer = optim.Adam([img], lr=0.001)
for i in range(10000):
# 把梯度置零
optimizer.zero_grad()
output = tanji(img)
# 计算损失 _ 最小化负对数似然损失
loss = -torch.log(F.sigmoid(output))
# 反向传播
loss.backward()
# 更新参数
optimizer.step()
with torch.no_grad():
img.clamp_(0, 1)
if i % 100 == 0:
print(f'Iteration {i}, Loss: {loss.item()}')
# 保存图片
optimized_image = transforms.ToPILImage()(img.squeeze(0))
# optimized_image = transforms.ToPILImage()(img[0].cpu()).save('flag.png')
optimized_image.show()
optimized_image.save('flag.png')