首页 > TAG信息列表 > Cmax
题解 AT4168 [ARC100C] Or Plus Max
其实这个题目直接枚举子集可以过(复杂度没问题)。 考虑转化一下题目,要对于每个 \(1\leq k\leq 2^n-1\),求 \(\max_{i\operatorname{or}j\leq k,i\neq j}\{a_i+a_j\}\),我们可以先对于每个 \(k\) 求出 \(\max_{i\operatorname{or}j=k,i\neq j}\{a_i+a_j\}\),再求一遍前缀最大值。 思考一【图像分割】基于粒子群优化模糊聚类算法实现图像分割matlab代码
1 简介 基于粒子群优化的改进模糊聚类图像分割算法将微粒群搜索聚类中心作为图像分割的聚类初值,克服了FCM分割算法对聚类中心初值敏感的缺点,大幅提高了图像分割算法的计算速度。改进的模糊聚类图像分割算法,一方面考虑到像素的空间位置信息和相互邻域之间像素有很大的相关性,ABC224
C 题意:给你一堆不同的点,从中选三个点,能够获得的三角形个数有多少 方法:选三个点,判断是否三点共线,或者用海伦公式判断面积是否为0 #include<iostream> #include<string> #include<vector> using namespace std; #define int long long vector<pair<int, int>> v; int n; signedCF1463F Max Correct Set
考虑证明一个答案必定为\((x + y)\)的循环节递归。 考虑到如果第二块比第一块答案大,则必定可以把第一块换为第二块增加答案。 且可以证明,如果\((x + y)\)是合法的,则整个序列合法。 那我们只要做出第一个循环节的dp,并考虑剩下的零散点的取值即可。 #include<bits/stdc++.h> #definehdu 6981/ 2021“MINIEYE杯”中国大学生算法设计超级联赛(3)1009 Rise in Price(剪枝,dp合并)
https://acm.hdu.edu.cn/showproblem.php?pid=6981 题意: 给出2个n*n的矩阵A和B 起点在(1,1),终点在(n,n),每步只能往右或者往下走 得分为路径上的A的和与B的和的乘积 问最大得分 数据随机 解法一:搜索剪枝 因为是随机数据,估价函数优秀一些大概率还是可以过的 参考的这位大佬的「USACO 2021.1 Platinum」Sum of Distances
「USACO 2021.1 Platinum」Sum of Distances 设在\(G_i\)中\(j_i\)点可行的距离集合为\(D_{j_i}\) 注意到一个点的\((j_1,j_2,\ldots,j_k)\)的\(dis\)可以用如下方式确定 \(\displaystyle dis(j_1,j_2,\ldots,j_k)=\min\{\bigcap D_{j_i}\}\) 而\(D_{j_i}\)有一个简单的描述方法:【18】【图像处理】粒子群算法结合模糊聚类分割算法实现图像的分割
%pso-fcm。算法思路借鉴网上的某一帖子。tic;close all;clear;clc;pic=imread('2.png'); [a,b,k]=size(pic);t=a*b;data=reshape(double(pic),t,k);Maxiter=4;%设定最大迭代次数n=100;c1=0.4;c2=0.4;%设定个体经验系数和群体经验系数w=0.3;%设定惯性系数vmax=1jzoj4915. 【GDOI2017模拟12.9】最长不下降子序列 (数列)
题面 题解 调了好几个小时啊……话说我考试的时候脑子里到底在想啥…… 首先,这个数列肯定是有循环节的,而且循环节的长度\(T\)不会超过\(D\) 那么就可以把数列分成三份,\(L+S+R\),其中\(L,R\)为左右两边剩下的,\(S\)为中间的循环数列。对于\(L\),算出\(pre_i\)表示最后一个数小于等于CF1110D Jongmah
题意 给出\(n\)个在\(1\)到\(m\)范围内的数\(a_i\),定义一个三元组为\((x,x,x)\)或者\((x,x+1,x+2)\)的形式,求最多能组成三元组的数量是多少 题解 比赛的时候脑抽了……也可能是过年之后就傻了…… 先看看贪心行不行,把所有能选\(3\)个的都先选掉,发现显然是\(gg\)的 然后考虑每一个形