ICode9

精准搜索请尝试: 精确搜索
  • Luogu2447/BZOJ1923 [SDOI2010]外星千足虫2019-09-09 13:00:26

    题目传送门 算法分析 不难看出这相当于是解\(n\)元一次异或方程组,类比\(n\)元一次方程组的解法,不难想到使用高斯消元。 发现数据范围比较大,\(n^3\)是肯定过不去的,因此想到01矩阵用bitset存储,用bitset Xor运算实现对其他方程的转化,时间复杂度\(\frac{n^3}{32}\)可以通过。 求最早确

  • [LeetCode] 最长上升子序列2019-09-03 16:40:28

    class Solution { public: int lengthOfLIS(vector<int>& nums) { if(nums.size() == 0) return 0; vector<int> dp(nums.size(), 1); int maxm = 1; for(int i = 1; i < nums.size(); i++){

  • CCF-CSP题解 201403-4 无线网络2019-09-02 16:06:15

    新建不超过\(k\)个无线路由器,求使路由器1、2连通最少的中间路由器。 首先常规建图,将相距不超过\(r\)的路由器(包括新建的)相连。 想到了分层\(dijkstra\)。类似的,作\(bfs\)时记录已经经过的新建路由器个数\(b\)。\(queue\)内节点的形式就是当前路由器编号、经过的新建路由器个数、经

  • poj2342 Anniversary party (树形dp,树的最大独立集)2019-09-01 17:39:46

    问题描述: Ural大学有N名职员,编号为1~N。 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。 每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。 现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。 在满足这个条件的前提下,主办方希望邀请一部

  • bzoj4260 Codechef REBXOR (异或前缀和 +trie)2019-08-30 12:42:54

    Codechef REBXOR Input 输入数据的第一行包含一个整数N,表示数组中的元素个数。 第二行包含N个整数A1,A2,…,AN。 Output 输出一行包含给定表达式可能的最大值。 Sample Input 5 1 2 3 1 2 Sample Output 6 Hint 满足条件的(l1,r1,l2,r2)有:(1,2,3,3),(1,2,4,5),(3,3,4,5)。 对

  • 模板 - DancingLinks2019-08-28 16:50:46

    #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 9; const int MaxN = N * N * N + 10; const int MaxM = N * N * 4 + 10; const int maxnode = MaxN * 4 + MaxM + 10; char g[MaxN]; struct DLX { int n, m, size; int U

  • KMP算法2019-08-28 15:43:00

    原文链接:https://blog.csdn.net/u013480600/article/details/44646517 对于KMP算法,都会涉及到两个串 一个是待匹配串 char T[1000]//待匹配串            待匹配串的长度定为n 一个是模板串  char P[100]//模板串     模板串的长度定为

  • C - Anna, Svyatoslav and Maps floyd2019-08-22 10:52:56

      题意:给n*n的01矩阵,1i与j联通,0不联通,给m个点,表示依次走m个点,要求这些点的最短子序列,使最短子序列里的点走完的最短路与走完m个点的相同。 思路:先floyd预处理两两点之间的最短距离,预处理时需要注意i到i点距离为0,之后将第一个点放入答案,枚举答案的最后一个顶点与m中第二个顶点开始

  • CF1204C Anna, Svyatoslav and Maps2019-08-21 20:53:23

    题意 在给定的序列P中求一个子序列,使得在图中按照该子序列进行最短路径移动时可以完整经过原序列P code #include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #define maxn 105 #define maxm 1000010 #define inf 0x3f3f3f3f using namespac

  • 2019牛客暑期多校训练营(第三场)A Graph Games(分块)2019-08-12 19:57:40

    题目链接:https://ac.nowcoder.com/acm/contest/883/A 题目大意:   给出一个无向图和m条边,处理Q个询问   对于1 x y,将边序号为x到y的边反转,如果存在这条边则删除,不存在则增加。   对于2 x y,回答与点x直接相连的点集是否与y直接相连的点集是否相同,是则输出1,不是输出0 解题报告:

  • Day4 - G - 确定比赛名次 HDU - 12852019-08-01 15:57:40

    有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。  Input输入有若干组,每组中的第一行

  • 2019牛客多校第二场2019-07-23 15:04:02

    比赛总结: 看错F题意@byf 要勇于打表找规律 题解(不定更新)  A EddyWalker   B EddyWalker2   C Go on Strike!   D Kth Minimum Clique   E MAZE   F Partition problem 题解:https://blog.csdn.net/liufengwei1/article/details/96729137 1 #include<bits/stdc++.h> 2

  • Day2-M-Prime Ring Problem-HDU10162019-07-23 13:54:22

    A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime. Note: the number of first circle should always be 1.   Inputn (0 < n <

  • 二维前缀和模板2019-07-18 16:02:24

    #include<bits/stdc++.h>#define MAXM 3010#define MAXN 3010using namespace std; int m,n,a[MAXM][MAXN],jx[MAXM][MAXN],x,y,u,v; int main(){   int i,j;   cin>>m>>n;   for(i=1;i<=m;i++)   {     for(j=1;j<=n;j++)

  • 暑假 D6 T1 substring(AC自动机)2019-07-15 19:55:35

    题目描述 给出一个长度为n的文本串,有Q次询问,每次给出一个字符串S,询问S是否在文本串中出现过 输入格式 第一行为两个整数n和Q,分别表示文本串长度和询问次数 第二行为长为n的文本串 接下来Q行,每行为一个字符串S 输出格式 输出Q行对应Q次询问的答案,若出现过则输出YES,否则输出NO 数据范

  • 激光炸弹2019-07-12 22:54:45

    题目描述 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标。现在地图上有n个目标,用整数xi,yi(0<=xi,yi<=5000)表示目标在地图上的位置,每个目标都有一个价值0<vi<100。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆破范围,即那个边长为R的正方形的边必须和x,y

  • 货币系统--完全背包求方案数2019-07-11 19:02:04

    一本通OJ 1273 题目分析: 边界f[0]=1f[0]=1f[0]=1 转移方程f[j]+=f[j−a[i]]f[j]+=f[j-a[i]]f[j]+=f[j−a[i]] 注意f[]f[]f[]要开longlonglong longlonglong Code : #include <bits/stdc++.h> using namespace std; #define maxn 100000 #define maxm 100000 int n,m,a[m

  • 洛谷P5443 【[APIO2019]桥梁】2019-07-11 16:53:00

    APIO场外选手没事休闲做题。(看了yyb的题解才把这题做出来) 对操作进行分块,把每\(\text{SZ}\)个操作分成1组,里面大概有2类:没被修改过的和被修改过的。 接着对块内询问进行离线。 对于没有修改过的:我们可以直接排序然后把他们加入并查集。 对于修改过的,我们看他的时间是否大于当前操作

  • 【模板】缩点2019-07-08 22:07:55

    https://www.luogu.org/problemnew/show/P3387 思路:建原图–>tarjan求出图内所有的强联通分量–>建出DAG(缩点:即每个强联通分量视为一个新点)–>在得到的DAG上进行DP(其实是记搜…),不断更新最大点权和–>输出max值–>AC 代码: #include<cstdio> #include<iostream> #include<algo

  • Luogu 1541 乌龟棋2019-07-08 19:51:37

    题目链接:https://www.luogu.org/problemnew/show/P1541 思路: 考虑若一张卡片被使用过,则可以从它当时的状态来进行转移。 故设$f[i][j][k][l]$表示用了$i$张$1$卡,$j$张$2$卡......时分数的最大值。 枚举四张卡片是否使用过,从中选取最大的,最后加上当前的得分。 启示: $dp$不关心其过程

  • 洛谷P1341 无序字母对【欧拉路】【dfs】2019-06-24 20:00:19

    题目:https://www.luogu.org/problemnew/show/P1341 题意:给定n对字母对,要求构造一个个数为n+1的字符串,使得每一个字母对都在里面出现过。 思路:这种题目都卡了好久,代码能力真的不行了啊。 其实就是每个字母是节点,每个字母对就是这两个字母之间连一条边,每个字母对都要出现就是每条边都

  • 期望dp+高斯消元优化——uvalive4297好题2019-06-20 23:02:56

    非常好的题!期望+建矩阵是简单的,但是直接套高斯消元会T 所以消元时要按照矩阵的形态 进行优化 #include<bits/stdc++.h>using namespace std; const int maxn = 55;const int maxm = 55*55;const double esp = 1e-8;int n,m,r,dir[4][2]={{1,0},{0,1},{-1,0},{0,-1}};double a[maxm

  • P1622 释放囚犯2019-06-11 20:52:29

    LOG P1622 释放囚犯 传送门(洛谷) 题目描述: 输入数据: 20 3 3 6 14 输出数据: 35 分析: 容易看出,每次给犯人吃肉都是一个区间,则很容易得出此题为一个区间动归 区间动归的一般模板:f[i][j]=min(f[i][j],f[i][k-1]+f[k+1][j]+…) 这里的f[i][j]是表示放出i号到j号的犯人最少给

  • 【杂题】[LibreOJ #6608] 无意识的石子堆【容斥原理】【FFT】2019-06-11 08:54:04

    Description Solution 943718401=225*2^22+1 显然每行必须有两个,我们不妨枚举有k列有2个石子,那么有2(n-k)列有1个石子。 \[Ans=\sum\limits_{k=0}^{n}{m\choose k}{m-k\choose 2(n-k)}S_k\] 抽象一下问题,我们有n种颜色的球,每种颜色的球有两个且没有区别,现在要将它们放进k+2(n-k)个

  • 洛谷 P1855 【榨取kkksc03】题解2019-06-09 11:51:39

    思路:DP,01背包 ------------这道题目可以说是一道裸的 01背包,唯一的不同仅仅只是将原来的一维改成了两维。我不明白为什么是一道 普及/提高- 的题,所以在评分时评了普及-。 对于每一个愿望,只有两种选择:要么满足,要么不满足。然后 01背包跑一遍就 AC 了。 $ \rm code $ # include <bit

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有