Вы можете использовать конфигурационную электронную почту с помощью codeigniter, например, используя smtp (простой способ):
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'mail.domain.com', //your smtp host
'smtp_port' => 26, //default port smtp
'smtp_user' => 'name@domain.com',
'smtp_pass' => 'password',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$message = 'Your msg';
$this->load->library('email', $config);
$this->email->from('name@domain.com', 'Title');
$this->email->to('emaildestination@domain.com');
$this->email->subject('Header');
$this->email->message($message);
if($this->email->send())
{
//conditional true
}
Это работает для меня!
Мы можем использовать двоичный поиск для решения этой проблемы.
Итак, предположим, что максимальное значение для всех подматриц - x
, поэтому мы можем с жадностью выбирать каждый подассемблер в O ( n), так что сумма каждого подмашины максимальна и меньше или равна x
. После создания всего подмассива, если количество подматрицы меньше или равно k
, поэтому x
является одним из возможных решений, или мы увеличиваем x
.
Псевдокод:
int start = Max_Value_In_Array;
int end = Max_Number;
while(start <= end)
int mid = (start + end)/2;
int subSum = 0;
int numberOfSubArray = 1;
for(int i = 0; i < n; i++){
if(subSum + data[i] > mid){
subSum = data[i];
numberOfSubArray++;
}else{
subSum += data[i];
}
}
if(numberOfSubArray <= k)
end = mid - 1;
else
start = mid + 1;
Сложность времени O (n log k) с k - максимально возможная сумма.
x
, вам просто нужно восстановить его так же, как при подсчете количества вспомогательных массивов – Pham Trung 18 March 2016 в 06:05x
, которое мы можем разделить на сегментk
, сумма которого меньше или равна кx
. И почему бинарный поиск может быть использован в этом случае? из-за свойства, которое со значениемx
, если мы можем разделить массив на сегментk
, поэтому со значениемgreater than x
мы также можем разделить массив на сегментыk
. Таким образом, требование бинарного поиска выполняется. – Pham Trung 21 March 2016 в 07:00