st

L2-005 集合相似度 (25分)

让人想犯罪 __ 提交于 2020-02-25 22:37:43
#include <stdio.h> #include <set> #include <algorithm> #include <iostream> using namespace std; const int si=51; set<int> st[si]; int main() { int N,K,M; cin>>N; for(int i=1;i<=N;i++) { cin>>M; int x; for(int j=0;j<M;j++) { cin>>x; st[i].insert(x); } } cin>>K; for(int i=0;i<K;i++) { set <int> U,I; int a,b; cin>>a>>b; set_union(st[a].begin(),st[a].end(),st[b].begin(),st[b].end(),inserter(U,U.begin())); set_intersection(st[a].begin(),st[a].end(),st[b].begin(),st[b].end(),inserter(I,I.begin())); printf("%.2f%%\n",I.size()*100.0/U.size()); } } 来源: https://www.cnblogs.com/Andre/p/12364118.html

[STM32爬坑] 自制STLink V2.1

心不动则不痛 提交于 2020-02-24 21:10:05
自制ST link V2.1 为什么要制作ST link V2.1 其实很早的时候就说过,要自制STlink V2.1。 为什么要自制这个东西呢,原因其实很简单,接触ST芯片也已经三年了,从入门的Jlink调试,到后来的板载调试器,直到 ST link V2.1的出现,真正让我改变了对调试器的看法。 还是要从头开始说,为什么要使用ST link V2.1 自带串口!!!! 没错,我使用他的原因就是他自带串口,直接通过虚拟串口和PC通信,少了一个USB的占用,少了一片CH340芯片 正题 如何自制STlink V2.1 电路图 这是我实物测试过的STlink V2.1 的最小系统 其中CPU 可以选用 STM32F103 CBT6 (直接烧写官方固件,CUBEIDE直接更新固件) STM32F103 C8T6 (需要破解固件,CUBEIDE需要修改文件) 以上两款CPU的主要差距在于Flash的容量不同,C8是与CB是同一款芯片,但是由于片内FLASH质量问题,C8是屏蔽了一部分存在质量缺陷的FLASH后的产品,可以通过软件强制写入,但是对于其中保存的数据的可靠性不做保证,可能成功。(我下载十次成功过两次,但是仿真一周后固件掉了) 可以参考的仿真器布局 仿真器布局一 仿真器布局二 固件下载 烧录官方STlink V2 固件即可,然后使用工具升级STlink 2.1的固件

Dijkstra求最短路径

删除回忆录丶 提交于 2020-02-24 12:51:59
Dijkstra求最短路径 问题: 给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为正值。 请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出-1。 朴素 Dijkstra算法: Example 输入格式 第一行包含整数n和m。 接下来m行每行包含三个整数x,y,z,表示存在一条从点x到点y的有向边,边长为z。 输出格式 输出一个整数,表示1号点到n号点的最短距离。 如果路径不存在,则输出-1。 数据范围 1≤n≤5001≤n≤500, 1≤m≤1051≤m≤105, 图中涉及边长均不超过10000。 输入样例: 3 3 1 2 2 2 3 1 1 3 4 输出样例: 3 #include <cstring> #include <iostream> #include <algorithm> using namespace std; //使用邻接矩阵来写 const int N = 510; int n, m; int g[N][N]; int dist[N];//dist[N]狄杰斯特拉的距离,表示从1号点到其他点的最短距离是多少。 bool st[N];//st[]每个点最短路是否确定 int dijkstra() { memset(dist, 0x3f, sizeof dist);// 初始化 dist[1] = 0;//1

某图片资源站动态口令逆向过程记录

ぃ、小莉子 提交于 2020-02-19 02:45:51
前言 此次逆向的是某“你们都懂”领域的图片站,目前此站限制注册,非会员无法访问;前两天偶然搞到了份邀请码,进入后发现质量还可以,于是尝试爬取,在爬虫编写过程中发现此站点采用了不少手段来阻止自动化脚本(或者重放攻击),可以作为一个比较有代表性的爬虫逆向案例,故记录于此。 分析过程 登录进来后,发现页面显示了一段Loading动画,然后才自上而下加载了出来,右键查看主页源代码 <!DOCTYPE html> <html lang="zh-Hans"> <head> <title>Loading... - Poi</title> <meta charset="utf-8">.......    这里基本就可以确定,是异步加载类的资源站,而且在代码底部还有vendor.js,大概是用vue开发的,传统的页面元素定位法在这里不适用,应该是要找接口了。由于我希望整合进系统(见此前的E站爬虫文章)的爬虫入口是画册页的链接,所以暂时不需要对index页进行分析,开Charles,随便点开一本,找到链接对应的条目,重点关注headers和cookies 首先尝试ctrl c+v大法,直接复制headers和cookies构造一模一样的请求,这招在不少登录验证网站都是有用的,但在此网站并未起效:网站返回了一个友好错误页面,并提示不要搞事情

数据结构——ST表(RMQ)

六眼飞鱼酱① 提交于 2020-02-17 17:58:34
ST表类似树状数组、线段树。 适用于解决区间最值得查询得算法,预处理O(nlogn),查询上ST表为O(1),而线段树为O(logn)。但是ST表只能除了离线的,不能修改。 ST表得构造采用DP的思想。主体为一个二维数组st[][],s[i][j] 表示 [i, i + 2^j - 1]区间的最值。 转移方程为: st[i][j] = min(st[i][j-1], st[i+2^(j-1)][j-1]) 。当然也可以是最大值。 接下来就是查询操作。 一般情况下查询的区间[a, b]不会满足正好[i, i+2^(j-1) ],那么就要将区间分为俩个(可能一头一尾会有重叠),[a,a+2^k -1]和[b - 2^k +1, b]。 k = floor(log(b-a+1)/log(2))。 ans = (st[a][k], st[b-(1<<k) + 1][k])。 习题: 1.luogu p3865 ST板子题 链接 : luogu p3865 题意 :n个数,m次查询, 每次查询给一个区间,让你求该区间里面的最大值。 代码 : # include <bits/stdc++.h> using namespace std ; const int maxn = 1e5 + 50 ; int n , m ; int a [ maxn ] ; int st [ maxn ] [ 20 ]

步步为营(十六)搜索(二)BFS 广度优先搜索

懵懂的女人 提交于 2020-02-17 11:31:36
上一篇讲了DFS,那么与之相应的就是BFS。也就是 宽度优先遍历,又称广度优先搜索算法。 首先,让我们回顾一下什么是“深度”: 更学术点的说法,能够看做“单位距离下,离起始状态的长度” 那么广度是什么呢? 个人认为,能够这么归纳: 何为广度? 能够看做“距离初始状态距离相等的结点”的集合 那么BFS的核心思想就是:从初始结点開始,搜索生成第一层结点。检查目标结点是否在这些结点中,若没有,再将全部第一层的结点逐一进行搜索,得到第二层结点,并逐一检查第二层结点中是否包括目标结点。若没有,再继续搜索第二层全部结点……,如此依次扩展,直到发现目标结点为止。 这样就保证了:假设我如今找到了目标结点(也能够称作当前问题的解)。那么我之前肯定没有发现过目标结点,并且因为是广度优先搜索。所以当前的解一定是距离起始结点近期的,也就是最优解。因为第一个解就是最优解,那么我们就能够尝试打印出道路。 伪代码例如以下: queue 结点队列 queue.push(起始节点) while(结点队列不为空) { queue.front(); queue.pop();//取出头结点 if(头结点是目标结点) { 跳出循环。 } for(对下一层结点进行推断) { if(结点满足筛选条件) { queue.push(满足帅选条件的结点) } } } 那么对于上一篇文章中果园的地图,我们的部分状态是这种: S 0 1

Prime Path POJ - 3126

点点圈 提交于 2020-02-17 09:21:16
题目链接 题目:给出一个数n,求把n变成另一个数m最少需要多少次且每一个数都必须为质数。 思路: 1.质数的话个位应为奇数,并且题目说明了千位不可以为0,也就是说百位,、十位是从1到9。 2.利用bfs进行搜索,先把n压入队列,如果n本身就等于m,就直接输出步数;否则分别个位、十位、百位、千位分别搜索,判断是否该值是否跟以前的不一样(一样就不用再重复压入队列了)、该值是否用过了、该值是否为质数。如果中间出现等于m就直接输出结果,否则到队列为空了就输出Impossible。 note:以下加粗斜体处为wa的地方!!! # include <iostream> # include <cstdio> # include <queue> # include <cmath> # include <cstring> using namespace std ; int vis [ 100000 ] ; struct node { int x , step ; } st , en ; int m ; bool judge ( int x ) //判断是否为质数 { if ( x == 0 || x == 1 ) return false ; if ( x == 2 || x == 3 ) return true ; for ( int i = 2 ; i <= * * * sqrt ( (

sparc v8 stack frame

◇◆丶佛笑我妖孽 提交于 2020-02-15 18:47:39
main.c int enable=1; int main() { int a, b; int sum; a = 1; b = 3; sum = add(a, b); return 0; } int add(int a, int b) { return (a+b); } int del() { return 0; } View Code 汇编如下: main.elf: file format elf32-sparc Disassembly of section .text: 70000000 <main>: 70000000: 9d e3 bf 88 save %sp, -120, %sp 70000004: 90 10 20 01 mov 1, %o0 70000008: d0 27 bf f4 st %o0, [ %fp + -12 ] 7000000c: 90 10 20 03 mov 3, %o0 70000010: d0 27 bf f0 st %o0, [ %fp + -16 ] 70000014: d0 07 bf f4 ld [ %fp + -12 ], %o0 70000018: d2 07 bf f0 ld [ %fp + -16 ], %o1 7000001c: 40 00 00 08 call 7000003c <add> 70000020: 01 00

CodeForces - 505B-Mr. Kitayuta's Colorful Graph(暴力)

烈酒焚心 提交于 2020-02-14 17:47:00
Mr. Kitayuta has just bought an undirected graph consisting of n vertices and m edges. The vertices of the graph are numbered from 1 to n . Each edge, namely edge i , has a color c i , connecting vertex a i and b i . Mr. Kitayuta wants you to process the following q queries. In the i -th query, he gives you two integers — u i and v i . Find the number of the colors that satisfy the following condition: the edges of that color connect vertex u i and vertex v i directly or indirectly. Input The first line of the input contains space-separated two integers — n and m ( 2 ≤  n  ≤ 100, 1 ≤  m  ≤ 100

【Luogu P1502】 窗口的星星

喜你入骨 提交于 2020-02-12 23:36:46
→传送窗口 (复制一下题面好了~) 题目背景 小卡买到了一套新房子,他十分的高兴,在房间里转来转去。 题目描述 晚上,小卡从阳台望出去,“哇~~~~好多星星啊”,但他还没给其他房间设一个窗户,天真的小卡总是希望能够在晚上能看到最多最亮的星星,但是窗子的大小是固定的,边也必须和地面平行。这时小卡使用了超能力(透视术)知道了墙后面每个星星的位置和亮度,但是小卡发动超能力后就很疲劳,只好拜托你告诉他最多能够有总和多亮的星星能出现在窗口上。 输入输出格式 输入格式: 本题有多组数据,第一行为T 表示有T组数据T<=10 对于每组数据 第一行3个整数n,W,H,(n<=10000,1<=W,H<=1000000)表示有n颗星星,窗口宽为W,高为H。 接下来n行,每行三个整数xi,yi,li 表示星星的坐标在(xi,yi),亮度为li。(0<=xi,yi<2^31) 输出格式: T个整数,表示每组数据中窗口星星亮度总和的最大值。 输入输出样例 输入样例#1: 2 3 5 4 1 2 3 2 3 2 6 3 1 3 5 4 1 2 3 2 3 2 5 3 1 输出样例#1: 5 6 说明 小卡买的窗户框是金属做的,所以在边框上的不算在内。 喜欢这个题目背景~ 这类题目有一个很巧妙的转化,把移动的窗口(面)和星星(点)转成 可以覆盖到星星的(面)和窗口的左下角(点) 什么意思呢?