![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
日志
baidu_32353439
这个作者很懒,什么都没留下…
展开
-
2020nlp算法秋招上岸流水账+面经
个人经历博主之前是一个acm铜牌辣鸡,拿过几次铜首极其遗憾,于是决定去读个研究生找个地方再战。博主是那种又菜瘾又大的人,所以大四(2018年)没有秋招还在那打比赛(还打过一个铁),比赛打完只能春招了...原创 2020-11-04 18:52:53 · 2200 阅读 · 7 评论 -
hdu1077 catching fish
Problem Description Ignatius likes catching fish very much. He has a fishnet whose shape is a circle of radius one. Now he is about to use his fishnet to catch fish. All the fish are in the lake, and原创 2016-03-13 14:02:49 · 387 阅读 · 0 评论 -
Sa求法
#include <iostream>#include <cstdio>#include <math.h>#include <algorithm>#include <string.h>using namespace std;const int MAXN=20010;int t1[MAXN],t2[MAXN],c[MAXN];bool cmp(int *r,int a,int b,int原创 2016-04-27 16:37:36 · 508 阅读 · 0 评论 -
ac自动机与状态转移
AC自动机是一个确定性有限状态自动机 形式定义 · 定义:有限状态自动机(FA—finite automaton)是一个五元组: – M=(Q, Σ, δ, q0, F) · 其中, – Q——状态的非空有穷集合。∀q∈Q,q称为M的一个状态。 – Σ——输入字母表。 – δ——状态转移函数,有时又叫作状态转换函数或者移动函数,δ:Q×Σ→Q,δ(q,a)=p。 – q0——M的开始原创 2017-07-18 00:18:18 · 613 阅读 · 0 评论 -
ac自动机与状态转移
AC自动机是一个确定性有限状态自动机 形式定义 · 定义:有限状态自动机(FA—finite automaton)是一个五元组: – M=(Q, Σ, δ, q0, F) · 其中, – Q——状态的非空有穷集合。∀q∈Q,q称为M的一个状态。 – Σ——输入字母表。 – δ——状态转移函数,有时又叫作状态转换函数或者移动函数,δ:Q×Σ→Q,δ(q,a)=p。 – q0——M的开始原创 2017-07-18 00:19:45 · 665 阅读 · 0 评论 -
百毒之星资格赛A题
很巧妙的建图题 度度熊保护村庄 Problem Description 哗啦啦村袭击了喵哈哈村!度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村。但是度度熊发现,这是一场旷日持久的战斗,所以度度熊决定要以逸待劳,保存尽量多的体力,去迎战哗啦啦村的战士。于是度度熊决定派尽量多的人去休息,但是同时也不能原创 2017-08-09 15:59:50 · 298 阅读 · 0 评论 -
2017百毒之星第一场
A题 答案为p^n mod b = 1的个数,就是d(p-1)#include <iostream>#include <bits/stdc++.h>#define ll long longusing namespace std;int main(){ int T; scanf("%d",&T); ll n; while (T--) {原创 2017-08-12 18:54:41 · 225 阅读 · 0 评论 -
2017多校第9场
1002 离线询问,把每个询问变成 q[b]-q[a-1] ,抄一个树链剖分的模板#include<cstdio>#include<cstring>#include<cstdlib>#include <algorithm>#include<iostream>#define inf 0x7fffffff#define N 400005#define M 400005#define l原创 2017-08-22 19:31:29 · 306 阅读 · 1 评论 -
hdu 4393
好久没写了由于不会优先队列,比较难受考虑到Fi只有500以内,我一开始感觉是线性规划。设Yi=kix+b 取任意两条直线的交点 x=(b1-b2)/(k1-k2)x的最大值就是499所以任意两条直线的交点在500以内,所以在500S之后与直线的高度相关的只有斜率,也就是斜率越大直线的高度越大代码掉了原创 2016-03-04 16:50:55 · 290 阅读 · 0 评论 -
hdu1077模拟
解析几何,用参数方程解#include <iostream>#include <math.h>using namespace std;typedef struct P{ double x; double y;};double dist(P p1,P p2){ return sqrt((p1.y-p2.y)*(p1.y-p2.y)+(p1.x-p2.x)*(p1.原创 2015-11-28 20:25:56 · 414 阅读 · 0 评论 -
poj1014数据很奇怪DISCUSS更奇怪
写了一个多小时的DFS感觉对了各种WA,进discuss找数据发现神奇取模方法,不过这个取模方法明显有问题,再找了别人的DFS秒杀代码,感觉他们的代码也明显有问题,我自己试了好多数据都是对的可是就是WA,还是用DP写的好,不会WA。 但是也不是简单的DP,求可达的范围那个DP其实和DFS是一样的,大不了没有用递归来实现,好像多重背包才是正解。附上我的吃屎代码,迷之WA#include <iostr原创 2015-11-27 15:08:10 · 364 阅读 · 0 评论 -
hdu 1269 这题有毒
用并查集写的 题目有毒 n=1,m=0都能输入,简直了#include<stdio.h>#include<string.h>int pre_forward[100010],pre_back[100010];int n,m;int find1(int a){ int r=a; while(r!=pre_forward[r]) { r=pre_forw原创 2015-12-10 15:31:49 · 236 阅读 · 0 评论 -
hdu 1856
并查集随便写 数据大的时候递归find比 while快 就这样#include <iostream>#include <cstdio>using namespace std;struct A{ int father; int num;}set[100010];int find(int x){ if(set[x].father == x) re原创 2015-12-10 15:15:47 · 233 阅读 · 0 评论 -
hdu1045
水,随便搜#include <iostream>#include <string.h>using namespace std;int f[10][10],dp[10][10],n,ans,vis[10][10];bool check(int x,int y){ int i,j; if (f[x][y]==-1) return false; if (x<1||x>n) r原创 2015-12-12 15:16:32 · 277 阅读 · 0 评论 -
HDU5492——合肥1009
题目意思是找一条方差最小的路径 记得以前做过最小方差生成树,这题要解最小方差路径也是差不多的。方差与期望相关,而期望和选择的路径相关所以没法直接用期望来求,我用的方法和最小方差生成树的方法一样,就是枚举所有可能的期望值来计算最小的方差。 可以证明,当枚举的期望使得方差最小时,这条路径一定是方差最小的路径,然而我并不会证明,我只是记住了结论。所以做这个题目的时候先走两遍DP把最大路径和最小路径求出原创 2015-11-26 14:26:53 · 513 阅读 · 0 评论 -
文章标题
poj1010和poj1011太像了所以暑假那天好像一起写了。POJ1010j的题目很长读的人吐血 题意大概是这样: 你要给集邮公司弄一个算法帮他们满足每个顾客的要求 第一行是邮票的面值,即便面值相同邮票的图案也不相同所以是不同的邮票 第二行是顾客的需求,需要用小于等于4张的邮票来满足。 有多种解的话要求 1.类型数最多。 2.如果类型数相同,则张数少者。 3.如果张数也相同,则原创 2015-11-25 22:07:51 · 228 阅读 · 0 评论 -
poj1011
今天忙死宝宝,写了几千字的读后感,又踢球又上课没时间刷题了,传一份之前的题解凑个数poj1011题意大概是george这个傻吊拿了若干根,每根木棍切成了若干份,让你求最小的原始长度我记得我暑假写了,改了有三四天才过的。大概的思路是这样:1.答案必定是在所有切好的木棍的长度和的各个因子中产生的,要求最小的所以从1以外最小的因子开始枚举答案。2.先用长度大的木棍,当长度大的木棍都不能组成正确答案的时候再原创 2015-11-25 21:46:22 · 357 阅读 · 0 评论 -
first of all
hi my name is hzk!! 第一次写博客,不出意外的话每天会写一篇,今天是开始,明年来看成果 20151124原创 2015-11-24 13:16:03 · 341 阅读 · 0 评论 -
poj1002
变态高精度乘法,难度在于各种奇奇怪怪的输入,去年好像改了七八天才过,要是比赛有这题肯定是各队的一道大坎 算法难度不大,编程难度极大#include <stdio.h>int mark=0,lock=0;void check(char s1[]){ int len,i; len=strlen(s1); i=0; while (s1[i]=='0') i++;原创 2015-11-26 11:54:16 · 183 阅读 · 0 评论 -
bitsit维护的flyod
用flyod求传递闭包时只需逻辑与,所以用bitsit来维护的话可以在n^2内完成。基本上5000左右的复杂度都没有问题。void floyd(){ int i,j,k; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(edge[j][i]) edge[j]|=edge[i];原创 2015-11-24 13:22:23 · 243 阅读 · 0 评论